Google Account
TARU SHRIVASTAVA
0105al221214@oriental.ac.in

Files

Iris.csv
archive.zip
Drop files to upload them to session storage.
Notebook
Code Text

{'nbformat': 4,
 'nbformat_minor': 0,
 'metadata': {'colab': {'provenance': [],
   'collapsed_sections': ['vncDsAP0Gaoa',
    'FJNUwmbgGyua',
    'w6K7xa23Elo4',
    'yQaldy8SH6Dl',
    'O_i_v8NEhb9l',
    'HhfV-JJviCcP',
    'Y3lxredqlCYt',
    '3RnN4peoiCZX',
    'x71ZqKXriCWQ',
    '7hBIi_osiCS2',
    'JlHwYmJAmNHm',
    '35m5QtbWiB9F',
    'PoPl-ycgm1ru',
    'H0kj-8xxnORC',
    'nA9Y7ga8ng1Z',
    'u3PMJOP6ngxN',
    'dauF4eBmngu3',
    'bKJF3rekwFvQ',
    'MSa1f5Uengrz',
    'GF8Ens_Soomf',
    '0wOQAZs5pc--',
    'KSlN3yHqYklG',
    'EM7whBJCYoAo',
    '4Of9eVA-YrdM',
    'bamQiAODYuh1',
    'OH-pJp9IphqM',
    'yLjJCtPM0KBk',
    '89xtkJwZ18nB',
    'rMDnDkt2B6du',
    'BhH2vgX9EjGr',
    'VfCC591jGiD4',
    'mWppNeqWwA-M',
    'pTi0g55fwA-W',
    'iv0m-lDQwA-W',
    'mwnxeO7jwA-X',
    'huCCA590wA-X',
    'VzKNBLqiwA-Y',
    '1GL-36pywA-Y',
    'nWFgbYYVwA-Z',
    '841njF38wA-Z',
    'AkBX0MHbwA-a',
    'Bgen1cFIwA-a',
    'JPT_4dYWwA-a',
    'LRvyaI9BwA-b',
    'c-26ctgmwA-c',
    'HO3sJ66GwA-c',
    'lHIyvCjC_4_G',
    'zlBiexnN_4_G',
    'ffEiQ19I_4_H',
    'Bbpe4TaP_4_H',
    'ifZ_nK19_4_H',
    '2CnsMkMiM-8g',
    'axoYmkZZM-8g',
    'YcglZXVVM-8h',
    'dOuC2Vx2M-8i',
    'N5YXAPbAM-8i',
    'pVXGvXVb_6FF',
    '1R6e5Trb_6FF',
    'zhaPpYXo_6FF',
    'ZYFMyHqX_6FG',
    't4hU8F0I_6FG',
    '1NNpISRdaSng',
    '6IvVWbfDaSnh',
    '0bSwMgKcaSnh',
    'IXHnAaJfaSni',
    'BSoGk_2RaSnj',
    'UisOqWiDb6SZ',
    'h_CCil-SKHpo',
    'cBFFvTBNJzUa',
    'HvGl1hHyA_VK',
    'gCX9965dhzqZ'],
   'include_colab_link': True},
  'kernelspec': {'name': 'python3', 'display_name': 'Python 3'},
  'language_info': {'name': 'python'}},
 'cells': [{'cell_type': 'markdown',
   'metadata': {'id': 'view-in-github', 'colab_type': 'text'},
   'source': ['<a href="https://colab.research.google.com/github/Apaulgithub/oibsip_task1/blob/main/Iris_Flower_Classification.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>']},
  {'cell_type': 'markdown',
   'source': ['# **Project Name**    - Iris Flower Classification\n', '\n'],
   'metadata': {'id': 'vncDsAP0Gaoa'}},
  {'cell_type': 'markdown',
   'source': ['##### **Project Type**    - Classification\n',
    '##### **Industry**    - Oasis Infobyte\n',
    '##### **Contribution**    - Individual\n',
    '##### **Member Name -** Arindam Paul\n',
    '##### **Task -** 1\n'],
   'metadata': {'id': 'beRrZCGUAJYm'}},
  {'cell_type': 'markdown',
   'source': ['# **Project Summary -**'],
   'metadata': {'id': 'FJNUwmbgGyua'}},
  {'cell_type': 'markdown',
   'source': ['**Project Description:**\n',
    '\n',
    'The Iris Flower Classification project focuses on developing a machine learning model to classify iris flowers into their respective species based on specific measurements. Iris flowers are classified into three species: setosa, versicolor, and virginica, each of which exhibits distinct characteristics in terms of measurements.\n',
    '\n',
    '**Objective:**\n',
    '\n',
    'The primary goal of this project is to leverage machine learning techniques to build a classification model that can accurately identify the species of iris flowers based on their measurements. The model aims to automate the classification process, offering a practical solution for identifying iris species.\n',
    '\n',
    '**Key Project Details:**\n',
    '\n',
    '- Iris flowers have three species: setosa, versicolor, and virginica.\n',
    '- These species can be distinguished based on measurements such as sepal length, sepal width, petal length, and petal width.\n',
    '- The project involves training a machine learning model on a dataset that contains iris flower measurements associated with their respective species.\n',
    '- The trained model will classify iris flowers into one of the three species based on their measurements.'],
   'metadata': {'id': 'F6v_1wHtG2nS'}},
  {'cell_type': 'markdown',
   'source': ['# **GitHub Link -**'],
   'metadata': {'id': 'w6K7xa23Elo4'}},
  {'cell_type': 'markdown',
   'source': ['**GitHub Link -** https://github.com/Apaulgithub/oibsip_task1/tree/main'],
   'metadata': {'id': 'h1o69JH3Eqqn'}},
  {'cell_type': 'markdown',
   'source': ['# **Problem Statement**\n'],
   'metadata': {'id': 'yQaldy8SH6Dl'}},
  {'cell_type': 'markdown',
   'source': ['The iris flower, scientifically known as Iris, is a distinctive genus of flowering plants. Within this genus, there are three primary species: Iris setosa, Iris versicolor, and Iris virginica. These species exhibit variations in their physical characteristics, particularly in the measurements of their sepal length, sepal width, petal length, and petal width.\n',
    '\n',
    '**Objective:**\n',
    '\n',
    "The objective of this project is to develop a machine learning model capable of learning from the measurements of iris flowers and accurately classifying them into their respective species. The model's primary goal is to automate the classification process based on the distinct characteristics of each iris species.\n",
    '\n',
    '**Project Details:**\n',
    '\n',
    '- **Iris Species:** The dataset consists of iris flowers, specifically from the species setosa, versicolor, and virginica.\n',
    '- **Key Measurements:** The essential characteristics used for classification include sepal length, sepal width, petal length, and petal width.\n',
    '- **Machine Learning Model:** The project involves the creation and training of a machine learning model to accurately classify iris flowers based on their measurements.\n',
    '\n',
    "This project's significance lies in its potential to streamline and automate the classification of iris species, which can have broader applications in botany, horticulture, and environmental monitoring."],
   'metadata': {'id': 'DpeJGUA3kjGy'}},
  {'cell_type': 'markdown',
   'source': ["# ***Let's Begin !***"],
   'metadata': {'id': 'O_i_v8NEhb9l'}},
  {'cell_type': 'markdown',
   'source': ['## ***1. Know The Data***'],
   'metadata': {'id': 'HhfV-JJviCcP'}},
  {'cell_type': 'markdown',
   'source': ['### Import Libraries'],
   'metadata': {'id': 'Y3lxredqlCYt'}},
  {'cell_type': 'code',
   'source': ['# Import Libraries\n',
    '# Importing Numpy & Pandas for data processing & data wrangling\n',
    'import numpy as np\n',
    'import pandas as pd\n',
    '\n',
    '# Importing  tools for visualization\n',
    'import matplotlib.pyplot as plt\n',
    'import seaborn as sns\n',
    '\n',
    '# Import evaluation metric libraries\n',
    'from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score, classification_report\n',
    '\n',
    '# Library used for data preprocessing\n',
    'from sklearn.preprocessing import LabelEncoder\n',
    '\n',
    '# Import model selection libraries\n',
    'from sklearn.model_selection import train_test_split, GridSearchCV, RandomizedSearchCV, RepeatedStratifiedKFold\n',
    '\n',
    '# Library used for ML Model implementation\n',
    'from sklearn.linear_model import LogisticRegression\n',
    'from sklearn.tree import DecisionTreeClassifier\n',
    'from sklearn.ensemble import RandomForestClassifier\n',
    'from sklearn.svm import SVC\n',
    'from sklearn.neural_network import MLPClassifier\n',
    'from sklearn.naive_bayes import GaussianNB\n',
    'import xgboost as xgb\n',
    '\n',
    '# Library used for ignore warnings\n',
    'import warnings\n',
    "warnings.filterwarnings('ignore')\n",
    '%matplotlib inline'],
   'metadata': {'id': 'M8Vqi-pPk-HR'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['### Dataset Loading'],
   'metadata': {'id': '3RnN4peoiCZX'}},
  {'cell_type': 'code',
   'source': ['# Load Dataset\n',
    'df = pd.read_csv("https://raw.githubusercontent.com/Apaulgithub/oibsip_task1/main/Iris.csv")'],
   'metadata': {'id': '4CkvbW_SlZ_R'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['### Dataset First View'],
   'metadata': {'id': 'x71ZqKXriCWQ'}},
  {'cell_type': 'code',
   'source': ['# Dataset First Look\n',
    '# View top 5 rows of the dataset\n',
    'df.head()'],
   'metadata': {'id': 'LWNFOSvLl09H',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 206},
    'outputId': 'c96556b1-2d37-417f-d5e9-5982c0d45fa2'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['   Id  SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm      Species\n',
       '0   1            5.1           3.5            1.4           0.2  Iris-setosa\n',
       '1   2            4.9           3.0            1.4           0.2  Iris-setosa\n',
       '2   3            4.7           3.2            1.3           0.2  Iris-setosa\n',
       '3   4            4.6           3.1            1.5           0.2  Iris-setosa\n',
       '4   5            5.0           3.6            1.4           0.2  Iris-setosa'],
      'text/html': ['\n',
       '  <div id="df-e3120306-3bc1-44e5-9549-677d5c8de505" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Id</th>\n',
       '      <th>SepalLengthCm</th>\n',
       '      <th>SepalWidthCm</th>\n',
       '      <th>PetalLengthCm</th>\n',
       '      <th>PetalWidthCm</th>\n',
       '      <th>Species</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>0</th>\n',
       '      <td>1</td>\n',
       '      <td>5.1</td>\n',
       '      <td>3.5</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>1</th>\n',
       '      <td>2</td>\n',
       '      <td>4.9</td>\n',
       '      <td>3.0</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>2</th>\n',
       '      <td>3</td>\n',
       '      <td>4.7</td>\n',
       '      <td>3.2</td>\n',
       '      <td>1.3</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>3</th>\n',
       '      <td>4</td>\n',
       '      <td>4.6</td>\n',
       '      <td>3.1</td>\n',
       '      <td>1.5</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>4</th>\n',
       '      <td>5</td>\n',
       '      <td>5.0</td>\n',
       '      <td>3.6</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-e3120306-3bc1-44e5-9549-677d5c8de505\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-e3120306-3bc1-44e5-9549-677d5c8de505 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-e3120306-3bc1-44e5-9549-677d5c8de505');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-76879c4f-66a3-4aa0-9fc7-64e4aa6eefbd">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-76879c4f-66a3-4aa0-9fc7-64e4aa6eefbd\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-76879c4f-66a3-4aa0-9fc7-64e4aa6eefbd button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 91}]},
  {'cell_type': 'markdown',
   'source': ['### Dataset Rows & Columns count'],
   'metadata': {'id': '7hBIi_osiCS2'}},
  {'cell_type': 'code',
   'source': ['# Dataset Rows & Columns count\n',
    '# Checking number of rows and columns of the dataset using shape\n',
    'print("Number of rows are: ",df.shape[0])\n',
    'print("Number of columns are: ",df.shape[1])'],
   'metadata': {'id': 'Kllu7SJgmLij',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '1be7a474-ce9a-48ca-a787-43343220fd82'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['Number of rows are:  150\n', 'Number of columns are:  6\n']}]},
  {'cell_type': 'markdown',
   'source': ['### Dataset Information'],
   'metadata': {'id': 'JlHwYmJAmNHm'}},
  {'cell_type': 'code',
   'source': ['# Dataset Info\n',
    '# Checking information about the dataset using info\n',
    'df.info()'],
   'metadata': {'id': 'e9hRXRi6meOf',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '7e5f73c0-f112-4315-e752-c7ddc0b91a55'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["<class 'pandas.core.frame.DataFrame'>\n",
      'RangeIndex: 150 entries, 0 to 149\n',
      'Data columns (total 6 columns):\n',
      ' #   Column         Non-Null Count  Dtype  \n',
      '---  ------         --------------  -----  \n',
      ' 0   Id             150 non-null    int64  \n',
      ' 1   SepalLengthCm  150 non-null    float64\n',
      ' 2   SepalWidthCm   150 non-null    float64\n',
      ' 3   PetalLengthCm  150 non-null    float64\n',
      ' 4   PetalWidthCm   150 non-null    float64\n',
      ' 5   Species        150 non-null    object \n',
      'dtypes: float64(4), int64(1), object(1)\n',
      'memory usage: 7.2+ KB\n']}]},
  {'cell_type': 'markdown',
   'source': ['#### Duplicate Values'],
   'metadata': {'id': '35m5QtbWiB9F'}},
  {'cell_type': 'code',
   'source': ['# Dataset Duplicate Value Count\n',
    'dup = df.duplicated().sum()\n',
    "print(f'number of duplicated rows are {dup}')"],
   'metadata': {'id': '1sLdpKYkmox0',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '25ef7cbf-7fe7-4d39-9318-026e4c52a93c'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['number of duplicated rows are 0\n']}]},
  {'cell_type': 'markdown',
   'source': ['#### Missing Values/Null Values'],
   'metadata': {'id': 'PoPl-ycgm1ru'}},
  {'cell_type': 'code',
   'source': ['# Missing Values/Null Values Count\n', 'df.isnull().sum()'],
   'metadata': {'id': 'GgHWkxvamxVg',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '4cd9a833-8259-4aa0-aa04-6e053162fe76'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['Id               0\n',
       'SepalLengthCm    0\n',
       'SepalWidthCm     0\n',
       'PetalLengthCm    0\n',
       'PetalWidthCm     0\n',
       'Species          0\n',
       'dtype: int64']},
     'metadata': {},
     'execution_count': 95}]},
  {'cell_type': 'markdown',
   'source': ['### What did i know about the dataset?'],
   'metadata': {'id': 'H0kj-8xxnORC'}},
  {'cell_type': 'markdown',
   'source': ['* The Iris dataset consists of length and width mesurements of sepal and petal for different species in centimeter.\n',
    '* There are 150 rows and 6 columns provided in the data.\n',
    '* No duplicate values exist.\n',
    '* No Null values exist.'],
   'metadata': {'id': 'gfoNAAC-nUe_'}},
  {'cell_type': 'markdown',
   'source': ['## ***2. Understanding The Variables***'],
   'metadata': {'id': 'nA9Y7ga8ng1Z'}},
  {'cell_type': 'code',
   'source': ['# Dataset Columns\n', 'df.columns'],
   'metadata': {'id': 'j7xfkqrt5Ag5',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'cea8667f-8885-421e-96f6-7e10dc8e0b31'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ["Index(['Id', 'SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm',\n",
       "       'Species'],\n",
       "      dtype='object')"]},
     'metadata': {},
     'execution_count': 96}]},
  {'cell_type': 'code',
   'source': ['# Dataset Describe (all columns included)\n',
    "df.describe(include= 'all').round(2)"],
   'metadata': {'id': 'DnOaZdaE5Q5t',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '821fc6eb-734d-436f-fbe2-64424a02dbe1'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['            Id  SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm  \\\n',
       'count   150.00         150.00        150.00         150.00        150.00   \n',
       'unique     NaN            NaN           NaN            NaN           NaN   \n',
       'top        NaN            NaN           NaN            NaN           NaN   \n',
       'freq       NaN            NaN           NaN            NaN           NaN   \n',
       'mean     75.50           5.84          3.05           3.76          1.20   \n',
       'std      43.45           0.83          0.43           1.76          0.76   \n',
       'min       1.00           4.30          2.00           1.00          0.10   \n',
       '25%      38.25           5.10          2.80           1.60          0.30   \n',
       '50%      75.50           5.80          3.00           4.35          1.30   \n',
       '75%     112.75           6.40          3.30           5.10          1.80   \n',
       'max     150.00           7.90          4.40           6.90          2.50   \n',
       '\n',
       '            Species  \n',
       'count           150  \n',
       'unique            3  \n',
       'top     Iris-setosa  \n',
       'freq             50  \n',
       'mean            NaN  \n',
       'std             NaN  \n',
       'min             NaN  \n',
       '25%             NaN  \n',
       '50%             NaN  \n',
       '75%             NaN  \n',
       'max             NaN  '],
      'text/html': ['\n',
       '  <div id="df-7537685e-c457-4898-8f01-4c8f20563dc6" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Id</th>\n',
       '      <th>SepalLengthCm</th>\n',
       '      <th>SepalWidthCm</th>\n',
       '      <th>PetalLengthCm</th>\n',
       '      <th>PetalWidthCm</th>\n',
       '      <th>Species</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>count</th>\n',
       '      <td>150.00</td>\n',
       '      <td>150.00</td>\n',
       '      <td>150.00</td>\n',
       '      <td>150.00</td>\n',
       '      <td>150.00</td>\n',
       '      <td>150</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>unique</th>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>3</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>top</th>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>freq</th>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>NaN</td>\n',
       '      <td>50</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>mean</th>\n',
       '      <td>75.50</td>\n',
       '      <td>5.84</td>\n',
       '      <td>3.05</td>\n',
       '      <td>3.76</td>\n',
       '      <td>1.20</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>std</th>\n',
       '      <td>43.45</td>\n',
       '      <td>0.83</td>\n',
       '      <td>0.43</td>\n',
       '      <td>1.76</td>\n',
       '      <td>0.76</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>min</th>\n',
       '      <td>1.00</td>\n',
       '      <td>4.30</td>\n',
       '      <td>2.00</td>\n',
       '      <td>1.00</td>\n',
       '      <td>0.10</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>25%</th>\n',
       '      <td>38.25</td>\n',
       '      <td>5.10</td>\n',
       '      <td>2.80</td>\n',
       '      <td>1.60</td>\n',
       '      <td>0.30</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>50%</th>\n',
       '      <td>75.50</td>\n',
       '      <td>5.80</td>\n',
       '      <td>3.00</td>\n',
       '      <td>4.35</td>\n',
       '      <td>1.30</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>75%</th>\n',
       '      <td>112.75</td>\n',
       '      <td>6.40</td>\n',
       '      <td>3.30</td>\n',
       '      <td>5.10</td>\n',
       '      <td>1.80</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>max</th>\n',
       '      <td>150.00</td>\n',
       '      <td>7.90</td>\n',
       '      <td>4.40</td>\n',
       '      <td>6.90</td>\n',
       '      <td>2.50</td>\n',
       '      <td>NaN</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-7537685e-c457-4898-8f01-4c8f20563dc6\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-7537685e-c457-4898-8f01-4c8f20563dc6 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-7537685e-c457-4898-8f01-4c8f20563dc6');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-48fe18c4-20e7-479c-a109-9e4b6af401ab">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-48fe18c4-20e7-479c-a109-9e4b6af401ab\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-48fe18c4-20e7-479c-a109-9e4b6af401ab button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 97}]},
  {'cell_type': 'markdown',
   'source': ['### Check Unique Values for each variable.'],
   'metadata': {'id': 'u3PMJOP6ngxN'}},
  {'cell_type': 'code',
   'source': ['# Check Unique Values for each variable.\n',
    'for i in df.columns.tolist():\n',
    '  print("No. of unique values in",i,"is",df[i].nunique())'],
   'metadata': {'id': 'zms12Yq5n-jE',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '22463351-3e7c-48fb-d572-40a98cb14a78'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['No. of unique values in Id is 150\n',
      'No. of unique values in SepalLengthCm is 35\n',
      'No. of unique values in SepalWidthCm is 23\n',
      'No. of unique values in PetalLengthCm is 43\n',
      'No. of unique values in PetalWidthCm is 22\n',
      'No. of unique values in Species is 3\n']}]},
  {'cell_type': 'markdown',
   'source': ['## ***3. Data Wrangling***'],
   'metadata': {'id': 'dauF4eBmngu3'}},
  {'cell_type': 'markdown',
   'source': ['### Data Wrangling Code'],
   'metadata': {'id': 'bKJF3rekwFvQ'}},
  {'cell_type': 'code',
   'source': ["# We don't need the 1st column so let's drop that\n",
    'data=df.iloc[:,1:]'],
   'metadata': {'id': 'wk-9a2fpoLcV'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# New updated dataset\n', 'data.head()'],
   'metadata': {'id': 'LLjNXM30tBZT',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '05f4e197-bcff-4859-8469-21b7ebe06742'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['   SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm      Species\n',
       '0            5.1           3.5            1.4           0.2  Iris-setosa\n',
       '1            4.9           3.0            1.4           0.2  Iris-setosa\n',
       '2            4.7           3.2            1.3           0.2  Iris-setosa\n',
       '3            4.6           3.1            1.5           0.2  Iris-setosa\n',
       '4            5.0           3.6            1.4           0.2  Iris-setosa'],
      'text/html': ['\n',
       '  <div id="df-99f7f0ea-012c-40ef-b7f1-ff96c24313c3" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>SepalLengthCm</th>\n',
       '      <th>SepalWidthCm</th>\n',
       '      <th>PetalLengthCm</th>\n',
       '      <th>PetalWidthCm</th>\n',
       '      <th>Species</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>0</th>\n',
       '      <td>5.1</td>\n',
       '      <td>3.5</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>1</th>\n',
       '      <td>4.9</td>\n',
       '      <td>3.0</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>2</th>\n',
       '      <td>4.7</td>\n',
       '      <td>3.2</td>\n',
       '      <td>1.3</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>3</th>\n',
       '      <td>4.6</td>\n',
       '      <td>3.1</td>\n',
       '      <td>1.5</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>4</th>\n',
       '      <td>5.0</td>\n',
       '      <td>3.6</td>\n',
       '      <td>1.4</td>\n',
       '      <td>0.2</td>\n',
       '      <td>Iris-setosa</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-99f7f0ea-012c-40ef-b7f1-ff96c24313c3\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-99f7f0ea-012c-40ef-b7f1-ff96c24313c3 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-99f7f0ea-012c-40ef-b7f1-ff96c24313c3');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-8377c6f0-ebea-4062-8f27-21cf6a0536fe">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-8377c6f0-ebea-4062-8f27-21cf6a0536fe\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-8377c6f0-ebea-4062-8f27-21cf6a0536fe button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 100}]},
  {'cell_type': 'markdown',
   'source': ['### What all manipulations have i done?'],
   'metadata': {'id': 'MSa1f5Uengrz'}},
  {'cell_type': 'markdown',
   'source': ['Only drop the first column of the dataset.'],
   'metadata': {'id': 'LbyXE7I1olp8'}},
  {'cell_type': 'markdown',
   'source': ['## ***4. Data Vizualization, Storytelling & Experimenting with charts : Understand the relationships between variables***'],
   'metadata': {'id': 'GF8Ens_Soomf'}},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 1 : Distribution of Numerical Variables'],
   'metadata': {'id': '0wOQAZs5pc--'}},
  {'cell_type': 'code',
   'source': ['# Chart - 1 Histogram visualization code for distribution of numerical variables\n',
    '# Create a figure with subplots\n',
    'plt.figure(figsize=(8, 6))\n',
    "plt.suptitle('Distribution of Iris Flower Measurements', fontsize=14)\n",
    '\n',
    '# Create a 2x2 grid of subplots\n',
    'plt.subplot(2, 2, 1)  # Subplot 1 (Top-Left)\n',
    "plt.hist(data['SepalLengthCm'])\n",
    "plt.title('Sepal Length Distribution')\n",
    '\n',
    'plt.subplot(2, 2, 2)  # Subplot 2 (Top-Right)\n',
    "plt.hist(data['SepalWidthCm'])\n",
    "plt.title('Sepal Width Distribution')\n",
    '\n',
    'plt.subplot(2, 2, 3)  # Subplot 3 (Bottom-Left)\n',
    "plt.hist(data['PetalLengthCm'])\n",
    "plt.title('Petal Length Distribution')\n",
    '\n',
    'plt.subplot(2, 2, 4)  # Subplot 4 (Bottom-Right)\n',
    "plt.hist(data['PetalWidthCm'])\n",
    "plt.title('Petal Width Distribution')\n",
    '\n',
    '# Display the subplots\n',
    'plt.tight_layout()  # Helps in adjusting the layout\n',
    'plt.show()'],
   'metadata': {'id': '7v_ESjsspbW7',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '5cd7e3f7-8be9-4be5-ed7d-e3d8ef4d8593'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 800x600 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAAAxUAAAJRCAYAAAAzo5rEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8cUlEQVR4nO3deVxUdf///+cAMqACCgq4oLivaYYbaq4kmZmkpi1Xl5rtaJpXi36uUqkM67pazbTFtOUy00wrLc3M5dLEcs0tU8OlVLQuBUUFhffvj37M1xFQhzPDAD7ut9vcbsz7vM85r/OewznzmvM+72MzxhgBAAAAQBH5eDsAAAAAAKUbSQUAAAAAS0gqAAAAAFhCUgEAAADAEpIKAAAAAJaQVAAAAACwhKQCAAAAgCUkFQAAAAAsIakAAAAAYAlJBeBmK1askM1m04QJE7yy/ujoaEVHRzuVTZgwQTabTStWrPBKTPv27ZPNZtOQIUO8sn53OHfunCZMmKAGDRrIbrfLZrNpwYIFbl9PSWkrm82mrl27ejUGAEDpQVIBFCDvi92Fr/Lly6t69erq0aOHxo0bp71793pk3V27dpXNZvPIsj2poGSmLHnppZeUlJSk6tWr67HHHtP48ePVuHHjS84THR2tgICAYorw0vKS3cJelSpV8naIXnPh/3tkZKTOnz9fYL2dO3c66pXlff1qMXPmTNlsNs2cOdPboQBlgp+3AwBKsnr16ulvf/ubJCkrK0tHjx7VDz/8oGeffVbPP/+8nnjiCU2cONEpCWjbtq127typKlWqeCXmZcuWeWW9l1KjRg3t3LlTISEh3g6lyBYuXKiKFStq6dKl8vf399h6PN1WMTExuvnmm/OVl5Tkx5v8/PyUlpamr776Srfccku+6dOnT5ePD7/FAUBBSCqAS6hfv36B3ZhWr16tu+++W8nJyfL19dWzzz7rmFa+fPnL/oLtSfXq1fPaugtTrlw5r7aJOxw6dEhhYWEeTSgkz7dV69atvdY1r6Tr0KGDtmzZovfeey9fUnH+/Hl99NFHiouL08qVK70UIQCUXPzkAhRBp06dtHjxYtntdr344os6ePCgY1ph91Ts3r1bQ4cOVZ06dWS32xUaGqqWLVtq1KhRMsZI+qsfe94Xlgu7puT1r7+wv/3OnTt16623KiwsTDabTfv27ZN0+W5I06dP1zXXXKOAgADVqFFDjz76qE6ePOlU51L3hVzc5z/v/f79+7V//36nuPPmv9R9Avv379ewYcNUo0YN+fv7q2bNmho2bJgOHDiQr25e17C8+xuio6Nlt9vVsGFDvfnmm4Vuc2FmzJihdu3aqWLFiqpYsaLatWuXrytE3v0oqampTttX1O4vF3a5+PLLL9WxY0cFBQU5lldYWx0+fFgjR45UgwYNFBgYqEqVKqlJkyZ68MEHlZ6eXqRYiuKPP/7QqFGjHPtxeHi4Bg4cqG3btjnVe+2112Sz2fTpp586lY8aNUo2m02dOnVyKs/b7qFDhzqVZ2dn6+WXX9Z1112nChUqKCgoSNdff72++OKLfLENGTJENptNv/76q1566SU1bdpUdrv9iu9PCQwM1O23365Fixbp6NGjTtMWLlyotLQ03XPPPYXOb4zRe++9p44dOyo4OFjly5dX69at9d577+Wre+jQIY0fP17t27dXeHi47Ha7oqOj9fDDD+dbtySlp6dr3Lhxatq0qSpWrKjg4GDVr19fgwcP1v79+/O1Qd7x4EIF3Vt14f/6999/r549e6pSpUpOV19d2a4L1zFjxgxdc801CgwMVJ06dfT66687lvfSSy+pUaNGCggIUIMGDfTBBx8U2KZF+fxTU1P1+uuvq3HjxrLb7apdu7aSkpKUm5vrVDdvXxs6dKjTcStPSfmfA0oLrlQARdSoUSMNHDhQH374oRYsWKARI0YUWvfQoUNq27atMjMz1bt3bw0aNEiZmZnavXu33nzzTf373/+Wn5+fxo8fr5kzZ2r//v0aP368Y/5rr73WaXl79uxR+/btdc0112jIkCH6888/r+gX9JdfflnLli3ToEGD1Lt3b3377bd69dVXlZKSolWrVqlcuXIut0OlSpU0fvx4vfrqq5L++tKY53I3+v7yyy/q1KmTjh07pj59+qhZs2batm2b3nvvPX355ZdavXq1GjZsmG++O+64Qz/88IN69eolX19fzZkzR4mJiSpXrpzuu+++K4r7kUce0eTJk1WjRg0NGzZMkjRv3jwNHTpUmzZt0muvvea0DRdvn9V7EObOnatvvvlGN998sx5++GFlZGQUWvf06dPq2LGj9u3bp549e+rWW29Vdna2UlNT9eGHH+qxxx4rlq5lx44dU2xsrPbu3auuXbvq9ttvV2pqqj799FMtWrRIS5YscSQL3bp1kyQtX75cAwYMcCxj+fLlkqQffvhBmZmZqlChglN53nzSX10Ob7zxRq1YsULXXnuthg0bpnPnzmnRokXq27evJk+erOHDh+eLc8SIEUpJSVHv3r3Vp08fhYeHX/E23nPPPXrrrbf04Ycf6h//+Iej/L333lNoaKgSEhIKnM8Yo7vuuksff/yxGjRooDvvvFP+/v5aunSphg0bph07dujf//63o/6qVav00ksvqUePHmrXrp3KlSunTZs2aerUqVqyZIk2btzo+EyNMYqPj9e6devUsWNH3XjjjfLx8dH+/fv1xRdf6O6771bt2rWveBsL8v333+v5559Xt27ddP/99zuSele3K8+rr76qFStWqG/fvurevbvmzZunkSNHqnz58tq0aZPmzZunm2++WT169NDs2bM1ePBgRUdHq3Pnzo5lFPXzf/zxx7Vy5UrdfPPNio+P14IFCzRhwgRlZ2dr4sSJkqSEhASdOHFCn3/+ufr27ZvvGFtS/ueAUsUAyCc1NdVIMvHx8ZesN336dCPJ3H333Y6y5cuXG0lm/PjxjrLXX3/dSDKvvvpqvmX8+eefTu+7dOliCvvXzItLkhk3blyBdWrXrm1q167tVDZ+/Hgjyfj7+5stW7Y4ynNzc82dd95pJJl///vfl9yGi2MYPHjwZdd7uXm6detmJJm33nrLqXzKlClGkunevbtTeV7btGvXzqSnpzvKf/75Z+Pn52caNWpU4PovtnLlSiPJNGnSxJw4ccJR/r///c80bNjQSDKrVq264u0rTO3atY3dbncqmzFjhpFkfHx8zNKlS/PNU1BbffHFF0aSGTVqVL76J0+eNGfPnr1sLHmfaUxMjBk/fny+186dO53qSzJdunRxKhs6dKiRZMaOHetUvmjRIiPJ1K9f3+Tk5Bhj/tq3wsLCTJMmTRz1/vjjD2Oz2UyPHj2MJLNkyRLHtLvvvttIMgcOHHCU/d///Z+RZJ5++mmTm5vrKM/IyDCtW7c2/v7+5vfff3eUDx482EgyNWvWNPv3779sm+S5+P+9efPmplmzZo7phw8fNn5+fmbEiBHGGGPsdnu+feHtt982kszQoUNNdna2ozwrK8v06dPHSDLr1693lKelpZmTJ0/mi+X99983ksxzzz3nKPvpp5+MJJOQkJCv/tmzZ52Wk9cGqamp+ermHQeWL1/uKMvbLySZ9957L988rm5X3jpCQ0PN3r17HeUHDhww/v7+JiQkxDRs2NAcPXrUMS0lJcVIMn369HFad1E//zp16phDhw45yo8dO2YqVapkgoKCTFZWlqM8739xxowZ+bbbHf9zwNWG7k+ABdWrV5f0V5eQKxEYGJivLDQ01OX1RkZG6p///KfL8/39739XixYtHO9tNpuef/55+fr6FvsIKAcOHNDy5cvVtGnTfFcXHnzwQTVu3FjfffedU9eyPMnJyQoODna8b9SokTp27Khdu3bl68pVkPfff1/SX101Lvy1sXLlyo4rRJ5uj759+youLs6leQrafypWrCi73X7Fy9iwYYOSkpLyvX7++edLzpedna2PP/5YYWFheuqpp5ym3XTTTbrhhhu0Z88erVmzRtL/G5J2586dOnLkiKS/utoYY/TUU0/Jbrfru+++cyxj+fLlqlu3rqKioiRJubm5mjp1qurVq6ekpCSnbilBQUEaN26csrOz9dlnn+WL9fHHH1etWrWuuE0uds8992j79u1at26dpL/2l/Pnz1+y69Mbb7yhChUqaMqUKU5X/Pz9/R2/jn/88ceO8vDwcFWsWDHfcu6++24FBwfr22+/zTetoM/fbrcXuBxXXXfddfm6nkmub1eekSNHqm7duo73UVFR6tSpk9LT0/XPf/5TVatWdUxr166d6tatqy1btjjKrHz+Tz/9tKpVq+Z4X6VKFfXt21cnT57Url27rrRJJLnnfw64WtD9CSgGffr00dixY5WYmKhly5bpxhtvVJcuXZxOuq5o2bJlkW4Yvv766/OV1a5dW1FRUdq+fbuys7M9fiNyns2bN0uSunTpkm8IXR8fH3Xu3Fk///yzNm/e7PiimScmJibf8mrWrClJOnHihIKCgi657k2bNkkquHtWXvebvPg8pW3btldct3PnzqpWrZomTZqkLVu26Oabb1aXLl3UpEkTl4cffuCBBzRt2jRXw9XPP/+ss2fPqlu3bipfvny+6d26ddPSpUu1efNmx37WrVs3zZs3T8uXL9cdd9yh5cuXKygoSJ06dVL79u0dXZ727Nmj3377zdENTZJ27dql48ePq3r16kpKSsq3vmPHjjniupgrbVuQv/3tb3ryySf13nvvqV27dpoxY4ZatWqVr4tMntOnT2vr1q2qXr26XnjhhXzTz507V2Csn332md566y1t3LhRx48fV05OjmPaoUOHHH83adJELVq00Mcff6zffvtNCQkJ6tq1q6699lq3jUbVpk0bt22XlL/LpiTHF/3CpuUlcZK1z/9yx4cr4c7/OeBqQVIBWJB34r/wV7eCREdHKyUlRRMmTNBXX32lOXPmSJIaN26sZ555RrfddptL642IiChSvIXNFxERoX379unkyZMKCwsr0rJdlXcPQWEx5X0BKehegwuvUuTx8/vrcHbhF7NLrdvHx6fAzy0iIkI2m+2S9zi4gyufYUhIiFJSUjRu3Dh9+eWX+uqrryT99evvmDFj9PDDD3sqTIeifF4X3leRl1R07txZfn5+6tatm5599lllZGQUeD/F//73P0nS9u3btX379kLjyszMzFdW1P+PPFWrVlWfPn00e/Zs3Xbbbdq1a5cmT55caP3jx4/LGKPff/+9wC/ABcX60ksv6bHHHlPVqlXVs2dP1axZ0/Gr+KuvvqqsrCxHXT8/P3333XeaMGGC5s2b57jXo2rVqho+fLj++c9/ytfX19I2F9RmRdmuPJf6Hy1s2oXPB7Hy+Vs9Pkgl438OKG3o/gRYkDeKSkG/8l2sefPm+vTTT/W///1Pa9eu1bhx43TkyBENGjTI0WXkShX1l7K0tLRCy202m+MX/rxfPwt6CJi7Rj3JO/EXFlNel5mCviC4Y925ubmOXzsvdPToURljPLLeC7n6GdaqVUszZ87UsWPHtGnTJr3wwgvKzc1VYmJigd1P3K0on1fTpk0VERGh5cuX6+jRo9qxY4cjcejWrZtycnL03//+1/F/dGFSkbec/v37yxhT6GvGjBn5YnHHL8nDhg1TRkaGhgwZooCAAN11112F1s2LNSYm5pKx5iVP58+f17PPPqtq1app27Zt+s9//qMXXnhBEyZM0Pjx45WdnZ1vHWFhYZo8ebJ+//137dixQ2+88YZCQ0M1fvx4vfjii456Rf3fLajNXN0ud7Ly+buLt//ngNKGpAIool9++UVz5syR3W7XrbfeesXzlStXTu3bt1dSUpJef/11GWO0cOFCx/S8Xxyv9Bc1V/z3v//NV7Z//34dPHhQzZo1c3R9qly5siTp999/z1c/r+vQxXx9fV2KOa8LxKpVqxxD6uYxxmjVqlVO9dypVatWkuQ0tGaevDJPrNcdfHx8dO211+qJJ55wfLEpaHhNd2vcuLECAgL0448/6vTp0/mmF9ZuXbt21Z49e/Thhx9Kkrp37y5Jat++vQIDA/Xdd99p+fLlatCggeMeJemvLj/BwcFav369o5tNcYqPj1eNGjX0+++/KyEhwfE/UZCgoCA1adJEO3fuvKLuNX/88YfS09MVGxubb2Sq9evX68yZM4XOa7PZ1KRJEyUmJmrp0qWSnD//ovzvFsbV7XKn4vj8r/RY663/OaC0IakAimDNmjWKj49XVlaWxowZoxo1alyy/oYNGwrsTpP3q++FTzPOu3G7oBuUrfrggw/0008/Od4bY/R///d/ysnJcRrLv1GjRgoKCtIXX3zh6IaQF+9zzz1X4LJDQ0P1xx9/6OzZs1cUS61atdStWzdt374933j3b7/9tnbu3Knu3bvnu5/CHQYPHixJSkpKcvpc0tPTHd088uqUBNu3by/wCkFB+4+n+Pv764477tAff/yh5ORkp2mLFy/WkiVLVL9+fXXs2NFpWt7VhxdeeMHxbJa85XXs2FEffvihDh8+7HSVQvqru8pDDz2k/fv367HHHivwi+W2bdsKfKaDO/j6+mrBggWaP39+vu0tyCOPPKLTp0/rvvvuK7BLTmpqquPZEeHh4QoMDNTGjRudErTjx48XODT1vn37CnzuREGff95V04sHGvj000+L9NA+V7bLnYrj87/UsbYk/M8BpQ33VACXsGfPHscD3LKzs3X06FH98MMP2rp1q3x9ffXUU085PU+iMB9++KHeeustde7cWfXq1VNwcLB27Nihr776SqGhoU6jrnTv3l2ffvqp+vfvr169eikgIEAtW7ZUnz59LG9PfHy8YmNjdfvtt6tq1apatmyZ1q9fr/bt2zt9mfH399eIESP0/PPP67rrrnOMnPLll1+qS5cu2rt3b75ld+/eXevXr1evXr10/fXXy9/fX507d3Yad/5iU6dOVadOnXTffffpyy+/VNOmTbV9+3Z98cUXqlq1qqZOnWp5mwvSuXNnjRgxQpMnT1bz5s0dXSzmzZun3377TY888sgl4y5uS5cu1eOPP66OHTuqYcOGCgsL06+//qovvvhCAQEBSkxMLJY4XnjhBa1cuVLPPfecvv/+e7Vr10779u3T3LlzVb58ec2YMSPfjcN5ycKxY8d06623Ok3v1q2bY5Sji5MK6a+kb+PGjXr99de1aNEide7cWeHh4fr999+1detWbdmyRWvXrnXpORSuaN26tVq3bn1FdR944AGlpKTo/fff15o1axQXF6fq1asrLS1NP//8s9atW6dZs2YpOjpaPj4+evjhh/XSSy85/rczMjL09ddfq3bt2k5XbKS/Bg3o16+f2rZtq6ZNmyoyMlK///67FixYIB8fHz366KOOun379lW9evU0c+ZMHTx4UK1atdLOnTv13Xff6aabbnLcG3ClXNkud/P05x8bG6vAwEC9+uqrOn78uOMeq6eeeqrE/M8BpYpHB6wFSqkLnweR9woMDDTVqlUz3bp1M08//bTZs2dPgfMW9IyHlJQU88ADD5jmzZubSpUqmcDAQNOgQQMzfPjwfOPpnzt3zjzxxBOmVq1axs/Pz+mZBYU97+FCl3pOxfLly80777xjmjVrZux2u6lWrZoZOXKkycjIyLecnJwcM2HCBBMVFWX8/f1Nw4YNzWuvvWZ+/fXXAmM4efKkue+++0y1atWMr6+vUxtcKu59+/aZoUOHmmrVqhk/Pz9TrVo1M3ToULNv3758dS/1DI9Ljc9fmPfee8+0adPGlC9f3pQvX960adOmwLH6jXH/cyoKGhvfmILbaseOHWbkyJGmVatWJiwszNjtdlO3bl0zePBgs3379iuKJW+/fOCBB66ovgp4ToUxf435/8gjj5jatWubcuXKmSpVqpgBAwaYrVu3FrqsGjVqGElm8uTJTuXff/+94//r8OHDBc57/vx589Zbb5mOHTua4OBgY7fbTa1atcyNN95opk6dak6dOuWoW5R9wJgrfy5NnoKeU5Hnk08+MXFxcaZy5cqmXLlypkaNGqZr167mpZdeMseOHXPUy87ONhMnTjQNGjRwbNM//vEPc/LkyXz72sGDB82YMWNM+/btTXh4uPH39ze1atUy/fr1M2vXri1wexISEkxQUJCpUKGC6dGjh/nxxx8v+ZyKgp5JU5TtKmgdeS71+RT2v+2uz7+wuBYtWmTatGljAgMDHfuiMe75nwOuNjZjLurMDAAAAAAu4J4KAAAAAJaQVAAAAACwhKQCAAAAgCUkFQAAAAAsIakAAAAAYAlJBQAAAABLSCoAAAAAWEJSAQAAAMASkgoAAAAAlpBUAAAAALCEpAIAAACAJSQVAAAAACwhqQAAAABgCUkFAAAAAEtIKgAAAABYQlIBAAAAwBKSCgAAAACWkFQAAAAAsISkAgAAAIAlJBUAAAAALCGpAAAAAGAJSQXcymazacKECd4Ow2MmTJggm82mP/74o9jW2bVrV3Xt2rVY1nXx51fc2xsdHa0hQ4YUy7oAFK/iOj9c6Xryjm9XgmO/Z3HsLxtIKkqRrVu3asCAAapdu7YCAgJUo0YN3XDDDZo8ebK3Q3PJvn37ZLPZ9O9//9vboRTq+eef14IFC9y+3CFDhshmszleFStWVN26dTVgwADNmzdPubm5blnP999/rwkTJujEiRNuWZ47leTYgNKqLJwfjh49KpvNppEjR+abNnLkSNlsNo0fPz7ftL///e8qV66cTp8+bTkGjv2eU5Jjg3v4eTsAXJnvv/9e3bp1U61atXTfffcpMjJSBw8eVEpKil577TWNGDHC2yGWKc8//7wGDBighIQEty/bbrfr3XfflSSdOXNG+/fv15dffqkBAwaoa9eu+vzzzxUcHOyo/80337i8ju+//15JSUkaMmSIKlWqdMXznTlzRn5+nj0sXCq2Xbt2yceH3zoAV5SV80N4eLgaNGig1atX55u2Zs0a+fn5ac2aNQVOa9WqlcqXLy/J2nGMY7/ncOwv+0gqSomJEycqJCREP/74Y75/xqNHj3onKBSJn5+f/va3vzmVPffcc5o0aZLGjh2r++67T5988oljmr+/v0fjyc3NVXZ2tgICAhQQEODRdV2O3W736vqB0qgsnR86deqkDz74QKdOnVLFihUlSZmZmdqyZYsGDhyoL774Qjk5OfL19ZUkHT58WL/++qv69u3rWIa3j2OF4dhfOI79ZQNpYSmxd+9eNWvWrMBfHsLDw/OVffTRR4qJiVFgYKBCQ0N1++236+DBg051unbtqubNm2vDhg3q0KGDAgMDVadOHU2bNs2pXnZ2tsaNG6eYmBiFhISoQoUKuv7667V8+XK3buPFsrKyNH78eNWvX192u11RUVF64oknlJWV5VTPZrNp+PDhWrBggZo3by673a5mzZpp8eLF+Za5YsUKtW7dWgEBAapXr57eeuutfP1qbTabMjMz9f777zsuVV/c1/PEiROOX1tCQkI0dOhQy5fex4wZo549e2ru3Ln65ZdfHOUF9audPHmymjVrpvLly6ty5cpq3bq1Zs2aJemvvrCPP/64JKlOnTqObdi3b59Te/3nP/9Rs2bNZLfbHW1VWF/kP/74QwMHDlRwcLDCwsI0cuRInT171jE9r0vbzJkz88174TIvF1tB/Wp//fVX3XbbbQoNDVX58uXVvn17LVq0yKnOihUrZLPZNGfOHE2cOFE1a9ZUQECAevTooT179hTa5kBZUJbOD506dVJOTo5SUlIcZevWrdP58+f12GOP6dSpU9q8ebNjWt6Vi06dOjnKCjqOrV69Wm3atHE69l+MY/+EfLFx7IcruFJRStSuXVtr167Vtm3b1Lx580vWnThxop5++mkNHDhQ9957r44dO6bJkyerc+fO2rRpk9OJ5/jx47rppps0cOBA3XHHHZozZ44eeugh+fv765577pEkZWRk6N1339Udd9yh++67TydPntT06dMVHx+vH374Qddee63btzc3N1e33HKLVq9erfvvv19NmjTR1q1b9corr+iXX37J1+d19erV+uyzz/Twww8rKChIr7/+uvr3768DBw4oLCxMkrRp0ybdeOONqlatmpKSkpSTk6NnnnlGVatWdVrWhx9+qHvvvVdt27bV/fffL0mqV6+eU52BAweqTp06Sk5O1saNG/Xuu+8qPDxcL7zwgqXtvvvuu/XNN99o6dKlatiwYYF13nnnHT3yyCMaMGCA4wD/008/ad26dbrzzjvVr18//fLLL/r444/1yiuvqEqVKpLktJ3fffed5syZo+HDh6tKlSqKjo6+ZFwDBw5UdHS0kpOTlZKSotdff13Hjx/XBx984NL2XUlsF0pLS1OHDh10+vRpPfLIIwoLC9P777+vW265RZ9++qluvfVWp/qTJk2Sj4+PHnvsMaWnp+vFF1/UXXfdpXXr1rkUJ1CalKXzQ15ysHr1asXFxUn6K3Fo2LChWrVqpZo1a2rNmjWKiYlxTLtwvoJs3bpVPXv2VNWqVTVhwgSdP39e48ePV0REhFM9jv35ceyHSwxKhW+++cb4+voaX19fExsba5544gmzZMkSk52d7VRv3759xtfX10ycONGpfOvWrcbPz8+pvEuXLkaSeemllxxlWVlZ5tprrzXh4eGOZZ8/f95kZWU5Le/48eMmIiLC3HPPPU7lksz48eMvuS2pqalGkvnXv/5VaJ0PP/zQ+Pj4mP/+979O5dOmTTOSzJo1a5zW6e/vb/bs2eMo27Jli5FkJk+e7Cjr06ePKV++vPn9998dZbt37zZ+fn7m4n+FChUqmMGDB+eLa/z48UZSvu2+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xhtvaOfOnXrhhRf04osvavLkyYXO48191xNWrlypxMREpaSkaOnSpTp37px69uypzMzMQufx9j7mCUVpB8m75zR3q1mzpiZNmqQNGzZo/fr16t69u/r27avt27cXWL8s7geS6+0gla394GJX+h2vrO4Pkhe+55qr1MmTJ02DBg3M0qVLTZcuXczIkSMLrTtjxgwTEhJSbLFdaPz48aZly5ZXXH/gwIGmd+/eTmXt2rUzDzzwgJsjK5ir8XqzbZ988knTqVMnl+Z54oknTLNmzZzKBg0aZOLj490ZWoGKEu/y5cuNJHP8+HHPBOWCkSNHmnr16pnc3NwCp3t7373Y5eL15r7bu3dvc8899ziV9evXz9x1112FzuPNfbc4HD161EgyK1euLLROSdvHPOFK2sGb+25xqVy5snn33XcLnHY17Ad5LtUOZXk/cOU7XlndH7zxPfeqvVKRmJio3r17Ky4u7orqnzp1SrVr11ZUVNRlM3932717t6pXr666devqrrvu0oEDBwqtu3bt2nzbFB8fr7Vr13o6TAdX4pW817ZffPGFWrdurdtuu03h4eFq1aqV3nnnnUvO4832LUq8ea699lpVq1ZNN9xwg9asWePhSPPLzs7WRx99pHvuuUc2m63AOiVh381zJfFK3tt3O3TooGXLlumXX36RJG3ZskWrV69Wr169Cp2nJLWvJ6Snp0uSQkNDC61T1ttAurJ2kLx7TvOknJwczZ49W5mZmYqNjS2wztWwH1xJO0hldz9w5TteWd0fvPE996pMKmbPnq2NGzcqOTn5iuo3atRI7733nj7//HN99NFHys3NVYcOHfTbb795OFKpXbt2mjlzphYvXqypU6cqNTVV119/vU6ePFlg/SNHjuR7Um1ERESx9KGXXI/Xm23766+/aurUqWrQoIGWLFmihx56SI888ojef//9QucprH0zMjJ05syZEhdvtWrVNG3aNM2bN0/z5s1TVFSUunbtqo0bN3o01ostWLBAJ06c0JAhQwqt4+1990JXEq83990xY8bo9ttvV+PGjVWuXDm1atVKo0aN0l133VXoPN7cdz0tNzdXo0aNUseOHdW8efNC65WkfcwTrrQdvLnvesrWrVtVsWJF2e12Pfjgg5o/f76aNm1aYN2yvB+40g5lcT+QXP+OVxb3B699z7V8raOUOXDggAkPDzdbtmxxlF3ustDFsrOzTb169cxTTz3lgQgv7fjx4yY4OLjQy5nlypUzs2bNciqbMmWKCQ8PL47w8rlcvBcrzrYtV66ciY2NdSobMWKEad++faHzNGjQwDz//PNOZYsWLTKSzOnTpz0SZ56ixFuQzp07m7/97W/uDO2yevbsaW6++eZL1ilJ++6VxHux4tx3P/74Y1OzZk3z8ccfm59++sl88MEHJjQ01MycObPQeby573ragw8+aGrXrm0OHjx4yXolaR/zhCtth4t585zmLllZWWb37t1m/fr1ZsyYMaZKlSpm+/btBdYty/uBK+1wsbKwHxTlO15Z2x+8+T3Xz+X0p5TbsGGDjh49quuuu85RlpOTo1WrVumNN95QVlaWfH19L7mMvF8G9+zZ4+lw86lUqZIaNmxY6LojIyOVlpbmVJaWlqbIyMjiCC+fy8V7seJs22rVquX7BadJkyaaN29eofMU1r7BwcEKDAz0SJx5ihJvQdq2bXvZm+fdaf/+/fr222/12WefXbJeSdl3rzTeixXnvvv44487rlZI0jXXXKP9+/crOTlZgwcPLnAeb+67njR8+HAtXLhQq1atUs2aNS9Zt6TsY57gSjtczJvnNHfx9/dX/fr1JUkxMTH68ccf9dprr+mtt97KV7cs7weutMPFysJ+UJTveGVtf/Dm99yrrvtTjx49tHXrVm3evNnxat26te666y5t3rz5sg0t/fXhbN26VdWqVSuGiJ2dOnVKe/fuLXTdsbGxWrZsmVPZ0qVLL9mn0pMuF+/FirNtO3bsmG/oxV9++UW1a9cudB5vtm9R4i3I5s2bi3XfnTFjhsLDw9W7d+9L1isp++6Vxnux4tx3T58+LR8f58O3r6+vcnNzC52npLSvuxhjNHz4cM2fP1/fffed6tSpc9l5ylobSEVrh4t585zmKbm5ucrKyipwWlncDwpzqXa4WFnYD4ryHa+s7Q9e/Z7r0nWNMuriy0J33323GTNmjON9UlKSWbJkidm7d6/ZsGGDuf32201AQMAVX1K04h//+IdZsWKFSU1NNWvWrDFxcXGmSpUq5ujRowXGumbNGuPn52f+/e9/m507d5rx48ebcuXKma1bt3o81qLE6822/eGHH4yfn5+ZOHGi2b17t/nPf/5jypcvbz766CNHnTFjxpi7777b8f7XX3815cuXN48//rjZuXOnmTJlivH19TWLFy8ukfG+8sorZsGCBWb37t1m69atZuTIkcbHx8d8++23Ho/XGGNycnJMrVq1zJNPPplvWknbd12N15v77uDBg02NGjXMwoULTWpqqvnss89MlSpVzBNPPOGoU5L2XU946KGHTEhIiFmxYoU5fPiw43VhV66SuI+5W1HawZv7rieMGTPGrFy50qSmppqffvrJjBkzxthsNvPNN98YY66O/cAY19uhrO0Hhbncd7yyuj9cqLi+55JUmPyN3aVLFzN48GDH+1GjRplatWoZf39/ExERYW666SazcePGYolt0KBBplq1asbf39/UqFHDDBo0yOzZs6fQWI0xZs6cOaZhw4bG39/fNGvWzCxatKhYYi1KvN5sW2OM+fLLL03z5s2N3W43jRs3Nm+//bbT9MGDB5suXbo4lS1fvtxce+21xt/f39StW9fMmDGjxMb7wgsvmHr16pmAgAATGhpqunbtar777rtii3fJkiVGktm1a1e+aSVt3zXGtXi9ue9mZGSYkSNHmlq1apmAgABTt25d889//tNkZWU56pS0fdfdJBX4unCbSuI+5m5FaQdvH3fd7Z577jG1a9c2/v7+pmrVqqZHjx6OL9LGXB37gTGut0NZ2w8Kc7nveMaUzf3hQsX1PddmzGUewQoAAAAAl3DV3VMBAAAAwL1IKgAAAABYQlIBAAAAwBKSCgAAAACWkFQAAAAAsISkAgAAAIAlJBUAAAAALCGpAAAAAGAJSQUAAAAAS0gqAAAAAFhCUgEAAADAEpIKAAAAAJaQVAAAAACwhKQCAAAAgCUkFQAAAAAsIakAAAAAYAlJBQAAAABLSCpgmc1m04QJE7wdhsdMmDBBNptNf/zxR7Gts2vXruratWuxrOviz6+4tzc6OlpDhgwplnUBKH7FdY640vXkHeOuBMd/z+L4X7aQVJQyM2fOlM1mc7wCAgLUsGFDDR8+XGlpaS4vb9asWXr11VfdH+hF9u3bJ5vNpn//+98eX1dRPf/881qwYIHblztkyBCnz6xixYqqW7euBgwYoHnz5ik3N9ct6/n+++81YcIEnThxwi3Lc6eSHBtQlpTGc8TRo0dls9k0cuTIfNNGjhwpm82m8ePH55v297//XeXKldPp06ctx8Dx33NKcmxwLz9vB4CieeaZZ1SnTh2dPXtWq1ev1tSpU/XVV19p27ZtKl++/BUvZ9asWdq2bZtGjRrluWBLieeff14DBgxQQkKC25dtt9v17rvvSpLOnDmj/fv368svv9SAAQPUtWtXff755woODnbU/+abb1xex/fff6+kpCQNGTJElSpVuuL5zpw5Iz8/zx4KLhXbrl275OPD7xuAO5Wmc0R4eLgaNGig1atX55u2Zs0a+fn5ac2aNQVOa9WqlWN7rBzLOP57Dsf/qwdJRSnVq1cvtW7dWpJ07733KiwsTC+//LI+//xz3XHHHV6ODhfz8/PT3/72N6ey5557TpMmTdLYsWN133336ZNPPnFM8/f392g8ubm5ys7OVkBAgAICAjy6rsux2+1eXT9QFpW2c0SnTp30wQcf6NSpU6pYsaIkKTMzU1u2bNHAgQP1xRdfKCcnR76+vpKkw4cP69dff1Xfvn0dy/D2sawwHP8Lx/G/bCE9LCO6d+8uSUpNTXWUffTRR4qJiVFgYKBCQ0N1++236+DBg47pXbt21aJFi7R//37Hpdno6GhJUnZ2tsaNG6eYmBiFhISoQoUKuv7667V8+XKPbkdWVpbGjx+v+vXry263KyoqSk888YSysrKc6tlsNg0fPlwLFixQ8+bNZbfb1axZMy1evDjfMlesWKHWrVsrICBA9erV01tvvZWvT63NZlNmZqbef/99R1tc3M/zxIkTjl9aQkJCNHToUMuX3ceMGaOePXtq7ty5+uWXXxzlBfWpnTx5spo1a6by5curcuXKat26tWbNmiXpr36wjz/+uCSpTp06jm3Yt2+fU3v95z//UbNmzWS32x1tVVg/5D/++EMDBw5UcHCwwsLCNHLkSJ09e9YxPa9L28yZM/PNe+EyLxdbQX1qf/31V912220KDQ1V+fLl1b59ey1atMipzooVK2Sz2TRnzhxNnDhRNWvWVEBAgHr06KE9e/YU2ubA1aiknyM6deqknJwcpaSkOMrWrVun8+fP67HHHtOpU6e0efNmx7S8KxedOnVylBV0LFu9erXatGnjdPy/GMf/Cfli4/iPouBKRRmxd+9eSVJYWJgkaeLEiXr66ac1cOBA3XvvvTp27JgmT56szp07a9OmTapUqZL++c9/Kj09Xb/99pteeeUVSXL8QpSRkaF3331Xd9xxh+677z6dPHlS06dPV3x8vH744Qdde+21bt+G3Nxc3XLLLVq9erXuv/9+NWnSRFu3btUr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\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 2 : Sepal Length vs Sepal Width'],
   'metadata': {'id': 'KSlN3yHqYklG'}},
  {'cell_type': 'code',
   'source': ['# Define colors for each species and the corresponding species labels.\n',
    "colors = ['red', 'yellow', 'green']\n",
    "species = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']"],
   'metadata': {'id': 'pmeReNPIwpsS'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Chart - 2 Scatter plot visualization code for Sepal Length vs Sepal Width.\n',
    '# Create a scatter plot for Sepal Length vs Sepal Width for each species.\n',
    'for i in range(3):\n',
    '    # Select data for the current species.\n',
    "    x = data[data['Species'] == species[i]]\n",
    '\n',
    '    # Create a scatter plot with the specified color and label for the current species.\n',
    "    plt.scatter(x['SepalLengthCm'], x['SepalWidthCm'], c=colors[i], label=species[i])\n",
    '\n',
    '# Add labels to the x and y axes.\n',
    "plt.xlabel('Sepal Length')\n",
    "plt.ylabel('Sepal Width')\n",
    '\n',
    '# Add a legend to identify species based on colors.\n',
    'plt.legend()\n',
    '\n',
    '# Display the scatter plot.\n',
    'plt.show()'],
   'metadata': {'id': 'R4YgtaqtYklH',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '7c06f759-62bf-41da-cd55-11094d6d1eef'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 640x480 with 1 Axes>'],
      'image/png': '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oU30er0QEhIiLFq0qMk6JZ/rgiCu70o512fOnCl0795deP/994Xi4mIhKytLuPXWW4XU1FRTG0ed50xwZKxxghMdHS3MnDnT9PPChQuFkJAQwcvLS+jataswYcIE4fjx49IH2kaTJ08WgoODBS8vL6F79+7C5MmThbNnz5rWN+63IAjC1q1bhd69ewteXl7CgAEDhA8++EDiqO1DbN+VcsyN3nvvPWHgwIGCt7e30LdvX+H11183Wz9z5kwhOjrabNn+/fuFIUOGCF5eXkKvXr2Et956S7qA7URsv1etWiWEhYUJPj4+QqdOnYSYmBjh008/lThq+/j4448FAMKpU6earFPyuS4I4vqulHO9urpaSEpKEkJCQgQfHx+hV69ewt///nfh2rVrpjaOOs9VgtDKdIJERERELoZjcIiIiEhxmOAQERGR4jDBISIiIsVhgkNERESKwwSHiIiIFIcJDhERESkOExwiIiJSHCY4REREpDhMcIjIZahUKmRnZzs7DJvMmjULkyZNcnYYRG6DCQ4Rteinn37CnDlzEBISAm9vbwQFBWHcuHHIzc11dmhNyCGJOHfuHFQqFfLy8pwaB5G783R2AEQkbw899BDq6uqwYcMG9OrVC5WVldi3bx9++eUXZ4dGRGQRr+AQkUVVVVXIycnBqlWrMHr0aPTo0QN33HEHlixZgj/+8Y9m7WbPno0uXbpAo9FgzJgxyM/PN61ftmwZhgwZgvXr10On06F9+/ZITEzEpUuXTG2OHDmCsWPH4tZbb0VAQACio6Nx/Phxu/bnxIkTuP/+++Hn54euXbti+vTp+Pnnn03rY2JisGDBAqSmpqJTp04ICgrCsmXLzN7ju+++wz333AMfHx/0798fe/fuNbt11rNnTwDA0KFDoVKpEBMTY7b9iy++iODgYHTu3Bnz5s3D9evX7dpHIjJggkNEFvn5+cHPzw/Z2dm4du2axXYPP/wwLly4gI8++gjHjh1DREQE7r33Xly8eNHU5uzZs9i6dSvee+897N69G19//TXmzp1rWl9TU4OZM2fi888/x5dffonw8HBMmDABNTU1dulLVVUVxowZg6FDh+Lo0aPYvXs3KisrkZiYaNZuw4YNuOWWW3D48GGkpaXhueeew549ewAAer0ekyZNQvv27XH48GG8/vrr+Pvf/262/VdffQUA2Lt3L8rLy5GVlWVat3//fhQVFWH//v3YsGEDMjMzkZmZaZf+EVEjbaqDTkSKt337dqFjx46Cj4+PMHLkSGHJkiVCfn6+aX1OTo6g0WiE3377zWy7sLAwYf369YIgCMLSpUsFtVotnD9/3rT+o48+Ejw8PITy8vJm96vX6wV/f3/hvffeMy0DIOzcudNirDNnzhTi4uKaXbdixQrhvvvuM1tWWloqABBOnTolCIIgREdHC/fcc49ZmxEjRgiLFi0yxezp6WkW8549e8ziKi4uFgAIX3/9dZPYevToIdy4ccO07OGHHxYmT55ssT9EZDtewSGiFj300EP48ccf8e6772L8+PE4cOAAIiIiTFce8vPzUVtbi86dO5uu+Pj5+aG4uBhFRUWm9wkJCUH37t1NP0dGRqK+vh6nTp0CAFRWVuKJJ55AeHg4AgICoNFoUFtbi5KSErv0Iz8/H/v37zeLsW/fvgBgFufgwYPNtgsODsaFCxcAAKdOnYJOp0NQUJBp/R133GF1DAMGDIBarW72vYnIvjjImIha5ePjg7Fjx2Ls2LF49tlnMXv2bCxduhSzZs1CbW0tgoODceDAgSbbdejQwep9zJw5E7/88gvS09PRo0cPeHt7IzIyEnV1dXbpQ21tLR544AGsWrWqybrg4GDT39u1a2e2TqVSob6+3i4xOPK9icgcExwiEq1///6mQbURERGoqKiAp6cnQkNDLW5TUlKCH3/8Ed26dQMAfPnll/Dw8ECfPn0AALm5ucjIyMCECRMAAKWlpWYDgNsqIiICO3bsQGhoKDw9bfunr0+fPigtLUVlZSW6du0KwDA4+mZeXl4ADON1iMh5eIuKiCz65ZdfMGbMGGzcuBHffPMNiouLsW3bNqSlpSEuLg4AEBsbi8jISEyaNAmffPIJzp07hy+++AJ///vfcfToUdN7+fj4YObMmcjPz0dOTg4WLFiAxMRE0+2e8PBw/Oc//0FhYSEOHz6MadOmwdfXV3TMly5dQl5entmrtLQU8+bNw8WLFzF16lQcOXIERUVF+Pjjj/HYY49ZnYyMHTsWYWFhmDlzJr755hvk5ubimWeeAWC4GgMAgYGB8PX1NQ1ivvlJMSKSDhMcIrLIz88Pd955J15++WWMGjUKAwcOxLPPPosnnngC69atA2D4Yv/www8xatQoPPbYY+jduzemTJmCH374wXSVAwBuu+02xMfHY8KECbjvvvswePBgZGRkmNb/3//9H3799VdERERg+vTpWLBgAQIDA0XHfODAAQwdOtTstXz5cnTr1g25ubnQ6/W47777MGjQICxcuBAdOnSAh4d1/xSq1WpkZ2ejtrYWI0aMwOzZs01PUfn4+AAAPD098corr2D9+vXo1q2bKREkImmpBEEQnB0EESnbsmXLkJ2drcjZfXNzc3HPPffg7NmzCAsLc3Y4RNSAY3CIiETYuXMn/Pz8EB4ejrNnzyIpKQl33303kxsimWGCQ0QkQk1NDRYtWoSSkhLceuutiI2NxUsvveTssIioEd6iIiIiIsXhIGMiIiJSHCY4REREpDhMcIiIiEhxmOAQERGR4jDBISIiIsVhgkNERESKwwSHiIiIFIcJDhERESnO/wdn0dkovcZo/wAAAABJRU5ErkJggg==\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 3 : Petal Length vs Petal Width'],
   'metadata': {'id': 'EM7whBJCYoAo'}},
  {'cell_type': 'code',
   'source': ['# Chart - 3 Scatter plot visualization code for Petal Length vs Petal Width.\n',
    '# Create a scatter plot for Petal Length vs Petal Width for each species.\n',
    'for i in range(3):\n',
    '    # Select data for the current species.\n',
    "    x = data[data['Species'] == species[i]]\n",
    '\n',
    '    # Create a scatter plot with the specified color and label for the current species.\n',
    "    plt.scatter(x['PetalLengthCm'], x['PetalWidthCm'], c=colors[i], label=species[i])\n",
    '\n',
    '# Add labels to the x and y axes.\n',
    "plt.xlabel('Petal Length')\n",
    "plt.ylabel('Petal Width')\n",
    '\n',
    '# Add a legend to identify species based on colors.\n',
    'plt.legend()\n',
    '\n',
    '# Display the scatter plot.\n',
    'plt.show()'],
   'metadata': {'id': 't6GMdE67YoAp',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '014af07b-c83d-4dad-b240-56ec30a608fa'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 640x480 with 1 Axes>'],
      'image/png': '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\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 4 : Sepal Length vs Petal Length'],
   'metadata': {'id': '4Of9eVA-YrdM'}},
  {'cell_type': 'code',
   'source': ['# Chart - 4 Scatter plot visualization code for Sepal Length vs Petal Length.\n',
    '# Create a scatter plot for Sepal Length vs Petal Length for each species.\n',
    'for i in range(3):\n',
    '    # Select data for the current species.\n',
    "    x = data[data['Species'] == species[i]]\n",
    '\n',
    '    # Create a scatter plot with the specified color and label for the current species.\n',
    "    plt.scatter(x['SepalLengthCm'], x['PetalLengthCm'], c=colors[i], label=species[i])\n",
    '\n',
    '# Add labels to the x and y axes.\n',
    "plt.xlabel('Sepal Length')\n",
    "plt.ylabel('Petal Length')\n",
    '\n',
    '# Add a legend to identify species based on colors.\n',
    'plt.legend()\n',
    '\n',
    '# Display the scatter plot.\n',
    'plt.show()'],
   'metadata': {'id': 'irlUoxc8YrdO',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '2b034111-aa94-4539-aab7-24871e39de18'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 640x480 with 1 Axes>'],
      'image/png': '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sxyAPjG5keH2snuWQe3jeTNvM1lpia2L2Mmw2N1NN91k8f6kpCSUlZVhwYIFuHz5MjIyMjBq1CgAwPz581FcXGz8sja+trYWkZGRJo8pLi5GaWkpZs6caddxzJ07F99//z1GjBiBL7/8Et27d8emTZsAAIsXL8by5cvx9NNPo6CgAMXFxRg2bJixoJiIiID0bunYkLEBnTSdTLZHaaKwIWODx86zwstALUlOBqKi9MW05upWVCr9/cnKON2m0WgwZswYjBkzBqNGjcI999yDixcvIjw8HOHh4TaPT0pKws8//wxfX1/Exsaa3Zefn5/JApQA0K1bN2Pti+Hsyg8//IBLly6he/fuxnEJCQlISEjAU089hXHjxuG9997DAw88gKKiIqSlpeHBBx8EoO8SO3bsmMljiYhIn7CkdUnD7vLdqKypRGRIJJKjkz3yjIoBz6y0RK0GlutPt6HpWjGG28uWOb241hZLlizBunXrcPToURw7dgwff/wxIiIiEBYWJnr8kCFD0K9fP4wcORLbt2/H6dOn8fXXX+O5554zdu7ExsairKwMxcXF+N///of6+noMGTIEiYmJyMzMxMGDB7Fv3z48/PDDGDRoEPr06YPLly9j6tSpKCwsxI8//oiioiLs378f3bp1A6CvX9mxYwe+/vprHDlyBE888YRJJxEREV2na9Sh+OdifF3xNYp/LvbIuVVuxGTFkvR0YMMGoJPp6TZERem3pyvjdFtISAhycnLQp08f9O3bF6dPn8bnn38OHx/zb6+l8SqVCp9//jkGDhyIRx55BAkJCRg7dix+/PFHdOjQAQDw5z//Gffccw9SU1PRvn17rFu3DiqVCp988glat26NgQMHYsiQIejcuTM++ugjAIBarcaFCxfw8MMPIyEhARkZGRg+fDjmzZsHAHj++eeRlJSEYcOGISUlBREREVYnxiMi8kazdsxC0MtBeGrbU3ht/2t4attTCHo5CLN2zHJ1aE6jEhTZN2yb6upqhIaGoqqqChqNxuS+33//HWVlZbj55psREBBg3450On3XT2WlvkYlOVkRZ1TIORz6s0NE5ECzdszC4q8Xt3j/zP4zkTO05e5RpbD0+W0Oz6zYQq3WtyePG6f/zkSFiIhk1nC1AUv2LLE4ZsmeJWi46nmNCUxWiIiI3MDKAyuhEyzXpugEHVYeWClTRPJhskJE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iJtvvhlr165FbGwsli1bZnzeG+M8ffo0VCoV8vLykJqaiqCgINx6663Ys2ePcby5y0Cffvop+vbti4CAALRr1w4PPPCA8b5//etf6NOnD0JCQhAREYHx48fj/PnzYl9mInIzcvxtdvXff3eLy5mYrFiglCmaV69eDT8/PxQVFeHNN99sdv+KFSuwefNmrF+/HqWlpVizZg1iY2PNPldCQgL69OmDNWvWmGxfs2YNxo9veaXNuro6vPLKK3jnnXfw/fffIzw8HA8//DB++uknFBYWYuPGjXjrrbdsShSee+45zJgxA8XFxUhISMC4ceNw9epVs2P//e9/44EHHsC9996L7777Dl988QXuuOMO4/1XrlzBggULUFJSgvz8fJw+fRoTJ060GgMRuS85/jYr5e+/u8TlbLwM1AJrUzSroEL21mykdUlz+qm3+Ph45OTktHh/eXk54uPjceedd0KlUiEmJsbi82VmZuK1117DggULAOjPtnz77bf44IMPWnzMlStXsHLlStx6660AgKNHj2Lnzp3Yv38/+vTpAwB45513EB8fb/V4ZsyYgREjRgAA5s2bhx49euDEiRPo2rVrs7EvvfQSxo4di3nz5hm3GWIAgEcffdT4786dO2PFihXo27cvamtrERwcbDUWInIvcvxtVtLff3eISw48s9ICMVM0O9vtt99u8f6JEyeiuLgYXbp0wbRp07B9+3bjfU8++SSCg4ONXwAwduxYnD59Gnv37gWgP6uSlJRkNlkw8PPzQ69evYy3S0tL4evri6SkJOO2W265Ba1bt7Z6PDc+T2SkfiKmls7IFBcX46677mrxub799lvcf//9iI6ORkhICAYNGgRAn8ARkeeR42+zkv7+30ipccmByUoLlDRF80033WTx/qSkJJSVlWHBggW4fPkyMjIyMGrUKADA/PnzUVxcbPwC9EWvgwcPxtq1awEAa9euRWZmpsV9BAYG2t0ZZNCqVSvjvw3P2djY2OJ+W/Lbb79h2LBh0Gg0WLNmDfbv349NmzYB0NfxEJHnkeNvs5L+/kvZnycuHcBkpQXuNkWzRqPBmDFj8Pbbb+Ojjz7Cxo0bcfHiRYSHh+OWW24xfhlkZmbio48+wp49e3Dq1CmMHTtW1P66dOmCq1ev4rvvvjNuO3HiBH799VeHHROgPwvzxRdfmL3v6NGjuHDhAhYtWoTk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8uRJ4dtvvxXGjh0rBAQECN9//70LopXu73//u1BYWCiUlZUJRUVFwpAhQ4R27doJ58+fFwSh+XEXFRUJvr6+wquvviocOXJEmDNnjtCqVSvh0KFDrjoEycQeu6e854IgCPv27RN8fX2Fl156STh+/LiwZs0aISgoSPjggw+MY5555hnhoYceMt4+deqUEBQUJMycOVM4cuSI8PrrrwtqtVrYunWrKw5BEinHvXTpUiE/P184fvy4cOjQISErK0vw8fERdu7c6YpDsItOpxOio6OFp59+utl9nvy7Lgjijt1TftcnTJggdOrUSfjss8+EsrIyIS8vT2jXrp0wa9Ys4xhn/Z4zWZFJ02Rl0KBBwoQJE4y3s7OzhejoaMHPz0/o0KGDcO+99woHDx6UP1A7jRkzRoiMjBT8/PyETp06CWPGjBFOnDhhvL/pcQuCIKxfv15ISEgQ/Pz8hB49egj//ve/ZY7aMcQeu6e85waffvqp0LNnT8Hf31/o2rWr8NZbb5ncP2HCBGHQoEEm2woKCoTbbrtN8PPzEzp37iy899578gXsIGKP+5VXXhHi4uKEgIAAoU2bNkJKSorw5Zdfyhy1Y2zbtk0AIJSWlja7z5N/1wVB3LF7yu96dXW1kJWVJURHRwsBAQFC586dheeee06or683jnHW77lKEKxMPUdERETkQqxZISIiIkVjskJERESKxmSFiIiIFI3JChERESkakxUiIiJSNCYrREREpGhMVoiIiEjRmKwQERGRojFZISKXUKlUyM/Pd3UYkkycOBEjR450dRhEXoPJCpEX+eWXXzBp0iRER0fD398fERERGDZsGIqKilwdWjNKSAhOnz4NlUqF4uJil8ZB5O18XR0AEcnnz3/+MxoaGrB69Wp07twZ586dwxdffIELFy64OjQiohbxzAqRl7h06RJ2796NV155BampqYiJicEdd9yB2bNn409/+pPJuMceewzt27eHRqPB4MGDUVJSYrx/7ty5uO2227Bq1SpotVoEBQUhIyMDVVVVxjH79+/H0KFD0a5dO4SGhmLQoEE4ePCgQ4/n8OHDGD58OIKDg9GhQwc89NBD+N///me8PyUlBdOmTcOsWbPQpk0bREREYO7cuSbPcfToUdx5550ICAhA9+7dsXPnTpPLUzfffDMAoHfv3lCpVEhJSTF5/KuvvorIyEi0bdsWU6ZMwZUrVxx6jESkx2SFyEsEBwcjODgY+fn5qK+vb3Hc6NGjcf78eWzZsgXffvstkpKScNddd+HixYvGMSdOnMD69evx6aefYuvWrfjuu+8wefJk4/01NTWYMGECvvrqK+zduxfx8fG49957UVNT45BjuXTpEgYPHozevXvjwIED2Lp1K86dO4eMjAyTcatXr8ZNN92Eb775Bjk5OZg/fz527NgBANDpdBg5ciSCgoLwzTff4K233sJzzz1n8vh9+/YBAHbu3InKykrk5eUZ7ysoKMDJkydRUFCA1atXIzc3F7m5uQ45PiJqwq71oonIrWzYsEFo3bq1EBAQIPTv31+YPXu2UFJSYrx/9+7dgkajEX7//XeTx8XFxQmrVq0SBEEQ5syZI6jVauHMmTPG+7ds2SL4+PgIlZWVZver0+mEkJAQ4dNPPzVuAyBs2rSpxVgnTJggpKWlmb1vwYIFwt13322yraKiQgAglJaWCoIgCIMGDRLuvPNOkzF9+/YVnn76aWPMvr6+JjHv2LHDJK6ysjIBgPDdd981iy0mJka4evWqcdvo0aOFMWPGtHg8RCQdz6wQeZE///nP+Omnn7B582bcc889KCwsRFJSkvGMQElJCWpra9G2bVvjmZjg4GCUlZXh5MmTxueJjo5Gp06djLf79euHxsZGlJaWAgDOnTuHxx9/HPHx8QgNDYVGo0FtbS3Ky8sdchwlJSUoKCgwibFr164AYBJnr169TB4XGRmJ8+fPAwBKS0uh1WoRERFhvP+OO+6wOYYePXpArVabfW4iciwW2BJ5mYCAAAwdOhRDhw7FCy+8gMceewxz5szBxIkTUVtbi8jISBQWFjZ7XFhYmM37mDBhAi5cuIDly5cjJiYG/v7+6NevHxoaGhxyDLW1tbj//vvxyiuvNLsvMjLS+O9WrVqZ3KdSqdDY2OiQGJz53ERkiskKkZfr3r27saA0KSkJP//8M3x9fREbG9viY8rLy/HTTz+hY8eOAIC9e/fCx8cHXbp0AQAUFRVh5cqVuPfeewEAFRUVJsWv9kpKSsLGjRsRGxsLX19pf8a6dOmCiooKnDt3Dh06dACgLwy+kZ+fHwB9fQsRuQ4vAxF5iQsXLmDw4MH44IMP8N///hdlZWX4+OOPkZOTg7S0NADAkCFD0K9fP4wcORLbt2/H6dOn8fXXX+O5557DgQMHjM8VEBCACRMmoKSkBLt378a0adOQkZFhvKQSHx+Pf/3rXzhy5Ai++eYbZGZmIjAwUHTMVVVVKC4uNvmqqKjAlClTcPHiRYwbNw779+/HyZMnsW3bNjzyyCM2JxZDhw5FXFwcJkyYgP/+978oKirC888/D0B/lgQAwsPDERgYaCzgvbHjiYjkw2SFyEsEBwfjD3/4A5YuXYqBAweiZ8+eeOGFF/D444/jtddeA6D/kP78888xcOBAPPLII0hISMDYsWPx448/Gs8+AMAtt9yC9PR03Hvvvbj77rvRq1cvrFy50nj/u+++i19//RVJSUl46KGHMG3aNISHh4uOubCwEL179zb5mjdvHjp27IiioiLodDrcfffdSExMRHZ2NsLCwuDjY9ufNbVajfz8fNTW1qJv37547LHHjN1AAQEBAABfX1+sWLECq1atQseOHY1JHRHJSyUIguDqIIjIfcydOxf5+fkeOatrUVER7rzzTpw4cQJxcXGuDoeIrmHNChF5rU2bNiE4OBjx8fE4ceIEsrKyMGDAACYqRArDZIWIvFZNTQ2efvpplJeXo127dhgyZAj++c9/ujosImqCl4GIiIhI0VhgS0RERIrGZIWIiIgUjckKERERKRqTFSIiIlI0JitERESkaExWiIiISNGYrBAREZGiMVkhIiIiRfv/V9ZzO22PxywAAAAASUVORK5CYII=\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 5 : Sepal Width vs Petal Width'],
   'metadata': {'id': 'bamQiAODYuh1'}},
  {'cell_type': 'code',
   'source': ['# Chart - 5 Scatter plot visualization code for Sepal Width vs Petal Width.\n',
    '# Create a scatter plot for Sepal Width vs Petal Width for each species.\n',
    'for i in range(3):\n',
    '    # Select data for the current species.\n',
    "    x = data[data['Species'] == species[i]]\n",
    '\n',
    '    # Create a scatter plot with the specified color and label for the current species.\n',
    "    plt.scatter(x['SepalWidthCm'], x['PetalWidthCm'], c=colors[i], label=species[i])\n",
    '\n',
    '# Add labels to the x and y axes.\n',
    "plt.xlabel('Sepal Width')\n",
    "plt.ylabel('Petal Width')\n",
    '\n',
    '# Add a legend to identify species based on colors.\n',
    'plt.legend()\n',
    '\n',
    '# Display the scatter plot.\n',
    'plt.show()'],
   'metadata': {'id': 'TIJwrbroYuh3',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '73c2d3ad-4b6f-48ab-dbc6-14db330cbb69'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 640x480 with 1 Axes>'],
      'image/png': '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nBhuQ00Zd1HHOxMfCyUkJODrr7/GDz/80GiG6e3tjbNnz5psO3v2LLy9va0ZolOyZNzv1rx5c/Tq1QvHjx+3UnTOydXVFQ8++CAAoHfv3ti1axcyMjKwaNGiOm15rItjybjfjce65fbs2YNz584hNDTUuE2v1+OHH37AggULcOPGDWi1WpPX8Hi/d00Z97s19XjnHB+ZJElCQkICVq1ahe+//x6dO3du9DXh4eHYuHGjybb169ebvV5Pppoy7nfT6/XYv38/fHx8rBChetTU1ODGjRv1Psdj3XrMjfvdeKxb7sknn8T+/ftRUFBgfISFhWH06NEoKCio98uXx/u9a8q4363Jx/s9T49WiYkTJ0peXl5SXl6eVFpaanxcv37d2Oall16S3nrrLePPW7ZskZo1ayZ98MEH0qFDh6Tp06dLzZs3l/bv32+PXXBITRn3mTNnSt99951UWFgo7dmzRxo5cqTk5uYmHTx40B674JDeeustafPmzVJRUZH03//+V3rrrbckjUYjrVu3TpIkHuvWYum481i3jrvvLuLxbhuNjbuo452XumT6+OOPAQADBw402f7ZZ59h3LhxAIDi4mK4uPx2Eq1v375YunQppk2bhrfffhvBwcHIyckxOzGXTDVl3C9fvowJEyagrKwMbdq0Qe/evbF161bOTbHAuXPnMGbMGJSWlsLLywvdu3fHd999h8GDBwPgsW4tlo47j3Xb4PFuH9Y63jWSJEmigyUiIiJSIs7xISIiItVg4kNERESqwcSHiIiIVIOJDxEREakGEx8iIiJSDSY+REREpBpMfIiIiEg1mPgQERGRajDxISKHpdFokJOTI7TPvLw8aDQaXLlypcE2WVlZaN26daN9WSM+Iro3THyIyCLnz5/HxIkTERAQgBYtWsDb2xtDhgzBli1b7B2aiYULF8LT0xO3bt0ybqusrETz5s3rlECpTXYKCwvRt29fY8kIuWbMmIGePXsKipyIrIm1uojIIs899xyqq6vx+eef44EHHsDZs2exceNGXLx40d6hmYiMjERlZSV2796NJ554AgCQn58Pb29v7NixA7/++ivc3NwAAJs2bUJAQACCgoIAAN7e3naLm4isi2d8iEi2K1euID8/H3PmzEFkZCQ6deqExx57DFOnTsX//M//mLR75ZVX0K5dO+h0OgwaNAj79u0zPl97hmTR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\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['#### Chart - 6 : Correlation Heatmap'],
   'metadata': {'id': 'OH-pJp9IphqM'}},
  {'cell_type': 'code',
   'source': ['# Correlation Heatmap Visualization Code\n',
    'corr_matrix = data.corr()\n',
    '\n',
    '# Plot Heatmap\n',
    'plt.figure(figsize=(8, 4))\n',
    "sns.heatmap(corr_matrix, annot=True, cmap='Reds_r')\n",
    '\n',
    '# Setting Labels\n',
    "plt.title('Correlation Matrix heatmap')\n",
    '\n',
    '# Display Chart\n',
    'plt.show()'],
   'metadata': {'id': 'kuRf4wtuphqN',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '8864cbac-cf76-448a-be25-93465368eec8'},
   'execution_count': None,
   'outputs': [{'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 800x400 with 2 Axes>'],
      'image/png': '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fOXIG/mu6+zsjIYNG2LJkiUAAIVCARsbGwwbNgxjx45Vqd+9e3ekpqZi165dUlnjxo1Rt25drFixokBx54Uj1URERESkFqEo2Jaeno7k5GSlLT09XeU8GRkZOHv2LLy8vKQyDQ0NeHl5ISwsLMfYwsLClOoDgLe3d671CwuTaiIiIiJSS0GnfwQFBcHExERpCwoKUjlPYmIisrKyYGVlpVRuZWWFuLi4HGOLi4tTq35h4eofRERERKSWgk4eDggIgJ+fn1KZXC4vWKMljEk1EREREamloD/+IpfL85VEW1hYQFNTE/Hx8Url8fHxsLa2zvEYa2trteoXFk7/ICIiIiK1FNeSejo6OnBycsKhQ4ekMoVCgUOHDsHFxSXHY1xcXJTqA8Bff/2Va/3CwpFqIiIiInpv+fn5wcfHBw0aNECjRo2wYMECpKamom/fvgCAPn36oFy5ctKc7BEjRsDd3R3z5s1D27ZtsWnTJpw5cwarVq0q0jiZVBMRERGRWopzRebu3bvjwYMHmDRpEuLi4lC3bl3s27dPuhkxJiYGGhqvJl+4urpi48aNmDBhAsaNG4fKlStj+/btqFmzZpHGyXWqietUf2K4TvWnhetUf2K4TvWnpQTXqb5oX6FAx9e6HV1Ikbw/OFJNRERERGrhmKwqJtVEREREpBbm1KqYVBMRERGRWphUq+KSekREREREBcSRaiIiIiJSi1BwqPpNTKqJiIiISC3MqVUxqSYiIiIitXD1D1VMqgnIeF7SEVAxstTWLOkQqDhx3eJPi5ZOSUdAnwim1KqYVBMRERGRWphUq+LqH0REREREBcSRaiIiIiJSC+dUq2JSTURERERqYUqtikk1EREREalFUdIBvIeYVBMRERGRWjj7QxWTaiIiIiJSi+AEEBVc/YOIiIiIqIA4Uk1EREREauE4tSom1URERESkFibVqphUExEREZFaFMyqVTCpJiIiIiK18EZFVbxRkYiIiIiogDhSTURERERq4Ti1KibVRERERKQW/viLKibVRERERKQW5tSqmFQTERERkVoUTKtVMKkmIiIiIrUwpVbF1T+IiIiIiAqII9VEREREpBbeqKiKSTURERERqYU5tSom1URERESkFv6ioiom1URERESkFgVzahVMqomIiIhILcypVXH1DyIiIiL6KDx8+BC9e/eGsbExTE1N0a9fP6Sk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06bC1dVVart27dris88+e+tz7e7uLoyMjMS0adPEtWvXxLRp04SmpqZo3bq1WLVqlfR3YG5uLlJTU9/aXmF4H65/dvKb/SFo6dKlom3btuLEiRNKH5a/+uor4eHhIT1+PanOysoSNWvWFC1atBDh4eHi6NGjol69ekrvH6dOnZI+IMXGxkrvVT4+PsLY2FgMGjRIXL16Vfz5559CX19frFq1SgghxLlz5wQA6X0nN6///7Jv3z5x5coV0bhxY+Hk5CQ8PDzE33//Lc6dOyccHBzEoEGD1LpO9P5iUk358scff4hSpUoJXV1d4erqKgICAkRERIQQQojjx49LyczrKlWqJFauXCmEeJlUaWpqiv/++0/av3fvXqGhoaE00vi6rKwsYWRkJP7880+pTJ2kulKlSipvfNOmTRMuLi5CiFdvej/99JO0//LlywKAuHr1qhBCiO7du4u2bdsqtdG7d28pqc7uW506dVTOD0BMmDBBepySkiIAiL179wohhGjdurWoXbt2jrG/LjAwUOjr6ysll97e3sLe3l5ppKRq1aoiKCjore29i/f1+ru5uUlJ69KlS0WbNm2EEEJ89tlnYu3atUKIl//5enp6Sse8njg8ffpU6OjoiN9++03an5SUJPT09KSkWgjVUTAhXn1LcePGDals6dKlwsrKSgghRHx8vAAg5s+fn2P/XmdnZye+/PJL6XFsbKwAICZOnCiVhYWFqYzMF7bXnxuFQiH++usvIZfLha+vr9DU1FQZcW/RooUICAgQQrwaIX6b06dPCwBS0qVOUn3nzp18xZHXdRHi5Tcac+bMkR6/ePFC2NraKiWUr39bke31kepsu3fvFgCkEVM9PT0xfPjwtz4P7u7uokmTJkoxGBgYiK+++koqy/47CAsLe2t7heF9uP6pqalCR0dHeu/u2rWrmD17tsjMzBQGBgbSh2VbW1sxZcoUqd3XX6P79+8XWlpaSvHu3btX6f0j+/3//PnzKs+BnZ2dePHihVTWtWtX0b17dyGEEJs3bxYAcvwm4nU5/f/y66+/CgDi0KFDUllQUJDSyDx92DinmvKlc+fOuH//Pnbu3IlWrVohNDQU9evXR0hICCIiIpCSkgJzc3MYGhpKW3R0NG7evCm1YWtri3LlykmPXVxcoFAoEBUVBQCIj4/HgAEDULlyZZiYmMDY2BgpKSmIiYlR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\n'},
     'metadata': {}}]},
  {'cell_type': 'markdown',
   'source': ['## ***5. Feature Engineering & Data Pre-processing***'],
   'metadata': {'id': 'yLjJCtPM0KBk'}},
  {'cell_type': 'markdown',
   'source': ['### 1. Categorical Encoding'],
   'metadata': {'id': '89xtkJwZ18nB'}},
  {'cell_type': 'code',
   'source': ['# Encode the categorical columns\n',
    '# Create a LabelEncoder object\n',
    'le = LabelEncoder()\n',
    '\n',
    "# Encode the 'Species' column to convert the species names to numerical labels\n",
    "data['Species'] = le.fit_transform(data['Species'])\n",
    '\n',
    "# Check the unique values in the 'Species' column after encoding\n",
    "unique_species = data['Species'].unique()\n",
    '\n',
    '# Display the unique encoded values\n',
    'print("Encoded Species Values:")\n',
    "print(unique_species) # 'Iris-setosa' == 0, 'Iris-versicolor' == 1, 'Iris-virginica' == 2"],
   'metadata': {'id': '21JmIYMG2hEo',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'ec7dd55b-f93a-4294-f1a9-428e8d2338a3'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['Encoded Species Values:\n', '[0 1 2]\n']}]},
  {'cell_type': 'markdown',
   'source': ['### 2. Data Scaling'],
   'metadata': {'id': 'rMDnDkt2B6du'}},
  {'cell_type': 'code',
   'source': ['# Defining the X and y\n',
    "x=data.drop(columns=['Species'], axis=1)\n",
    "y=data['Species']"],
   'metadata': {'id': 'dL9LWpySC6x_'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['### 3. Data Splitting'],
   'metadata': {'id': 'BhH2vgX9EjGr'}},
  {'cell_type': 'code',
   'source': ['# Splitting the data to train and test\n',
    'x_train,x_test,y_train,y_test=train_test_split(x,y, test_size=0.3)'],
   'metadata': {'id': '0CTyd2UwEyNM'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Checking the train distribution of dependent variable\n',
    'y_train.value_counts()'],
   'metadata': {'id': '-fRxg3Xr9g_R',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '97c67228-3a22-48fe-f5a0-ecc1d4e024a4'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['1    37\n',
       '2    35\n',
       '0    33\n',
       'Name: Species, dtype: int64']},
     'metadata': {},
     'execution_count': 111}]},
  {'cell_type': 'markdown',
   'source': ['## ***6. ML Model Implementation***'],
   'metadata': {'id': 'VfCC591jGiD4'}},
  {'cell_type': 'code',
   'source': ['def evaluate_model(model, x_train, x_test, y_train, y_test):\n',
    "    '''The function will take model, x train, x test, y train, y test\n",
    '    and then it will fit the model, then make predictions on the trained model,\n',
    '    it will then print roc-auc score of train and test, then plot the roc, auc curve,\n',
    '    print confusion matrix for train and test, then print classification report for train and test,\n',
    '    then plot the feature importances if the model has feature importances,\n',
    '    and finally it will return the following scores as a list:\n',
    '    recall_train, recall_test, acc_train, acc_test, F1_train, F1_test\n',
    "    '''\n",
    '\n',
    '    # Fit the model to the training data.\n',
    '    model.fit(x_train, y_train)\n',
    '\n',
    '    # make predictions on the test data\n',
    '    y_pred_train = model.predict(x_train)\n',
    '    y_pred_test = model.predict(x_test)\n',
    '\n',
    '    # calculate confusion matrix\n',
    '    cm_train = confusion_matrix(y_train, y_pred_train)\n',
    '    cm_test = confusion_matrix(y_test, y_pred_test)\n',
    '\n',
    '    fig, ax = plt.subplots(1, 2, figsize=(11,4))\n',
    '\n',
    '    print("\\nConfusion Matrix:")\n',
    '    sns.heatmap(cm_train, annot=True, xticklabels=[\'Negative\', \'Positive\'], yticklabels=[\'Negative\', \'Positive\'], cmap="Oranges", fmt=\'.4g\', ax=ax[0])\n',
    '    ax[0].set_xlabel("Predicted Label")\n',
    '    ax[0].set_ylabel("True Label")\n',
    '    ax[0].set_title("Train Confusion Matrix")\n',
    '\n',
    '    sns.heatmap(cm_test, annot=True, xticklabels=[\'Negative\', \'Positive\'], yticklabels=[\'Negative\', \'Positive\'], cmap="Oranges", fmt=\'.4g\', ax=ax[1])\n',
    '    ax[1].set_xlabel("Predicted Label")\n',
    '    ax[1].set_ylabel("True Label")\n',
    '    ax[1].set_title("Test Confusion Matrix")\n',
    '\n',
    '    plt.tight_layout()\n',
    '    plt.show()\n',
    '\n',
    '\n',
    '    # calculate classification report\n',
    '    cr_train = classification_report(y_train, y_pred_train, output_dict=True)\n',
    '    cr_test = classification_report(y_test, y_pred_test, output_dict=True)\n',
    '    print("\\nTrain Classification Report:")\n',
    '    crt = pd.DataFrame(cr_train).T\n',
    '    print(crt.to_markdown())\n',
    '    # sns.heatmap(pd.DataFrame(cr_train).T.iloc[:, :-1], annot=True, cmap="Blues")\n',
    '    print("\\nTest Classification Report:")\n',
    '    crt2 = pd.DataFrame(cr_test).T\n',
    '    print(crt2.to_markdown())\n',
    '    # sns.heatmap(pd.DataFrame(cr_test).T.iloc[:, :-1], annot=True, cmap="Blues")\n',
    '\n',
    "    precision_train = cr_train['weighted avg']['precision']\n",
    "    precision_test = cr_test['weighted avg']['precision']\n",
    '\n',
    "    recall_train = cr_train['weighted avg']['recall']\n",
    "    recall_test = cr_test['weighted avg']['recall']\n",
    '\n',
    '    acc_train = accuracy_score(y_true = y_train, y_pred = y_pred_train)\n',
    '    acc_test = accuracy_score(y_true = y_test, y_pred = y_pred_test)\n',
    '\n',
    "    F1_train = cr_train['weighted avg']['f1-score']\n",
    "    F1_test = cr_test['weighted avg']['f1-score']\n",
    '\n',
    '    model_score = [precision_train, precision_test, recall_train, recall_test, acc_train, acc_test, F1_train, F1_test ]\n',
    '    return model_score'],
   'metadata': {'id': 'PPTAGKKZkMyV'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Create a score dataframe\n',
    "score = pd.DataFrame(index = ['Precision Train', 'Precision Test','Recall Train','Recall Test','Accuracy Train', 'Accuracy Test', 'F1 macro Train', 'F1 macro Test'])"],
   'metadata': {'id': 'SisvUGuimFkW'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['### ML Model - 1 : Logistic regression'],
   'metadata': {'id': 'mWppNeqWwA-M'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 1 Implementation\n',
    'lr_model = LogisticRegression(fit_intercept=True, max_iter=10000)\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model'],
   'metadata': {'id': 'pjY8lKMfwA-V'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."],
   'metadata': {'id': 'pTi0g55fwA-W'}},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'lr_score = evaluate_model(lr_model, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'e7haAzk4wA-W',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '837c550d-7810-4bd2-d8e3-5ce66e860e6c'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABssklEQVR4nO3deVgVdf//8dcB5QgiKLggKe77npq55FIkLplbt5VaaqZpLiVZxn2nglm03JV5Z1pWaqalZVppaVoumUuu2WK4hFmJSy4ooogwvz/8eb4eQQXO4cxheD6ua67bMzNn5j1wuufF+3xmxmYYhiEAAAAAAAAP8DG7AAAAAAAAUHjQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGUNHDhQlStXNrsMtzpy5IjuuecehYaGymazacqUKW7fh81mU2xsrNu3W1BZ8XMEACjcyBOeR54AnNGIgMfZbLYcTWvWrDG71GwdOXJEY8eOVe3atRUQEKDixYuradOmmjx5sk6dOpWv+x4zZoxWrFihmJgYzZ07V506dcrX/XlSbGysbDabfHx89Oeff2ZZfvr0afn7+8tms2nkyJG53n5qaqpiY2O99nMFAHAfT2aNvJ5fyBP5gzwBFAxFzC4Ahc/cuXOdXr///vtauXJllvl16tRxaT8zZ85UZmamS9u42pYtW9SlSxelpKSof//+atq0qSRp69ateuGFF7Ru3Tp9/fXXbt3nlb799lt1795dY8eOzbd9nDt3TkWKmPd/DXa7XR9++KGeeuopp/mffvqpS9tNTU1VXFycJKl9+/Y5fl9+fI4AAPnLU1lDytv5hTyR/8gTgHejEQGP69+/v9PrTZs2aeXKlVnmXy01NVUBAQE53k/RokXzVN+1nDp1Sj179pSvr6927Nih2rVrOy1/7rnnNHPmTLfu82pHjx5VyZIl83UfxYoVy9ft30iXLl2yDQ7z589X165dtWjRIo/UcfbsWRUvXtztnyMAQP7La9bwBPKEZ5AnAO/GpRnwSu3bt1f9+vW1bds2tW3bVgEBAfr3v/8tSfrss8/UtWtXhYeHy263q1q1anr22WeVkZHhtI2rr8U7cOCAbDab/vvf/+rtt99WtWrVZLfb1bx5c23ZsuWGNb311lv6+++/9eqrr2YJDZJUrlw5PfPMM07z3nzzTdWrV092u13h4eEaMWJEluGWl4/1119/VYcOHRQQEKCbbrpJL730kmOd2bNny2azyTAMTZs2zTGkVPq/IYhXu/yeAwcOOOZt3bpVUVFRKl26tPz9/VWlShU99NBDTu/L7prOHTt2qHPnzgoKClJgYKDuuOMObdq0Kdv9ff/994qOjlaZMmVUvHhx9ezZU8eOHbvmz/Vqffv21c6dO/Xbb7855h0+fFjffvut+vbtm2X9CxcuaMKECWratKmCg4NVvHhx3XbbbVq9erVjnQMHDqhMmTKSpLi4OMfP7/JxDhw4UIGBgdq/f7+6dOmiEiVKqF+/fo5lV36OJk6cKB8fH33zzTdOdQwdOlR+fn768ccfc3ysAADzZGZmasqUKapXr56KFSumcuXK6ZFHHtHJkyed1rveufNG55fskCfIExJ5AmBEBLzW8ePH1blzZ913333q37+/ypUrJ+nSCSowMFDR0dEKDAzUt99+qwkTJuj06dN6+eWXb7jd+fPn68yZM3rkkUdks9n00ksvqVevXvr999+v263+/PPP5e/vr3vuuSdH9cfGxiouLk6RkZEaPny4EhISNH36dG3ZskXff/+9075OnjypTp06qVevXurTp48++eQTjRs3Tg0aNFDnzp3Vtm1bzZ07Vw888IDuvPNOPfjggzmq4UpHjx5Vx44dVaZMGT399NMqWbKkDhw4cMMhir/88otuu+02BQUF6amnnlLRokX11ltvqX379lq7dq1atGjhtP6oUaNUqlQpTZw4UQcOHNCUKVM0cuRILViwIEd1tm3bVhUqVND8+fM1adIkSdKCBQsUGBiorl27Zln/9OnTeuedd3T//fdryJAhOnPmjN59911FRUXphx9+UOPGjVWmTBlNnz5dw4cPV8+ePdWrVy9JUsOGDR3buXjxoqKiotSmTRv997//vebom2eeeUZffPGFBg8erJ9++kklSpTQihUrNHPmTD377LNq1KhRjo4TAGCuRx55RLNnz9agQYM0evRoJSYm6o033tCOHTsc5+kbnTtzcn65GnmCPCGRJwAZgMlGjBhhXP1RbNeunSHJmDFjRpb1U1NTs8x75JFHjICAAOP8+fOOeQMGDDAqVarkeJ2YmGhIMkJDQ40TJ0445n/22WeGJOOLL764bp2lSpUyGjVqlKNjOnr0qOHn52d07NjRyMjIcMx/4403DEnGe++955h3+Vjff/99x7y0tDQjLCzM6N27t9N2JRkjRoxwmjdx4sQsPz/DMIxZs2YZkozExETDMAxj8eLFhiRjy5Yt161dkjFx4kTH6x49ehh+fn7G/v37HfMOHTpklChRwmjbtm2W/UVGRhqZmZmO+WPGjDF8fX2NU6dOXXe/l4/j2LFjxtixY43q1as7ljVv3twYNGhQtj+DixcvGmlpaU7bOnnypFGuXDnjoYcecsw7duxYlmO7bMCAAYYk4+mnn8522ZWfI8MwjJ9++snw8/MzHn74YePkyZPGTTfdZDRr1sxIT0+/7jECAMxxddb47rvvDEnGvHnznNZbvny50/ycnDuvd37JDnmCPHEZeQKFGZdmwGvZ7XYNGjQoy3x/f3/Hv8+cOaN//vlHt912m1JTU52G313Lvffeq1KlSjle33bbbZKk33///brvO336tEqUKJGj2letWqULFy7o8ccfl4/P//1nNmTIEAUFBWnZsmVO6wcGBjpdt+rn56dbbrnlhjXlxuVrQZcuXar09PQcvScjI0Nff/21evTooapVqzrmly9fXn379tX69et1+vRpp/cMHTrUaWjnbbfdpoyMDP3xxx85rrVv377at2+ftmzZ4vjf7IZRSpKvr6/8/PwkXRpme+LECV28eFHNmjXT9u3bc7xPSRo+fHiO1qtfv77i4uL0zjvvKCoqSv/884/mzJlj6k25AAA59/HHHys4OFh33nmn/vnnH8fUtGlTBQYGOobj5+XceSPkCfLEZeQJFGY0IuC1brrpJscJ4Uq//PKLevbsqeDgYAUFBalMmTKOk25ycvINtxsREeH0+nJT4uprQq8WFBSkM2fO5Kj2yyfJWrVqOc338/NT1apVs5xEK1SokOW6zFKlSt2wptxo166devfurbi4OJUuXVrdu3fXrFmzlJaWds33HDt2TKmpqVmOQ7p0p/HMzMwsj8bK68/3Sk2aNFHt2rU1f/58zZs3T2FhYbr99tuvuf6cOXPUsGFDFStWTKGhoSpTpoyWLVuWo8/DZUWKFFGFChVyvP6TTz6pRo0a6YcfftDEiRNVt27dHL8XAGCuvXv3Kjk5WWXLllWZMmWcppSUFB09elRS3s6dN0KecEaeIE+gcKLdBq915ciHy06dOqV27dopKChIkyZNUrVq1VSsWDFt375d48aNy9FjkXx9fbOdbxjGdd9Xu3Zt7dy5UxcuXMi2QeKKvNYkKdsbS0nKcvNOm82mTz75RJs2bdIXX3yhFStW6KGHHtIrr7yiTZs2KTAwMPeFZ8OVY7lS3759NX36dJUoUUL33nuv0zdBV/rggw80cOBA9ejRQ08++aTKli0rX19fxcfHa//+/Tnen91uv+Y+svP7779r7969kqSffvopx+8DAJgvMzNTZcuW1bx587JdfvmGhPlx7iRP5Ax5ArA2RkSgQFmzZo2OHz+u2bNn67HHHtNdd92lyMhIp0st8ku3bt107ty5HD3uqVKlSpKkhIQEp/kXLlxQYmKiY7k7XD72q++efa2hi7feequee+45bd26VfPmzdMvv/yijz76KNt1y5Qpo4CAgCzHIUm//fabfHx8VLFiRdcO4Br69u2rpKQk7dmz55rDKCXpk08+UdWqVfXpp5/qgQceUFRUlCIjI3X+/Hmn9a4VsPIiMzNTAwcOVFBQkP7973/rww8/dPm55AAAz6lWrZqOHz+u1q1bKzIyMst09Y0Cr3fuzO35hTzhjDxBnkDhRCMCBcrl7viV3fALFy7ozTffzPd9Dxs2TOXLl9cTTzyhPXv2ZFl+9OhRTZ48WZIUGRkpPz8/TZ061anWd999V8nJydnerTmvqlWrJklat26dY97Zs2c1Z84cp/VOnjyZ5VuExo0bS9I1h1P6+vqqY8eO+uyzz5we23XkyBHNnz9fbdq0UVBQkBuOIqtq1appypQpio+P1y233HLN9bL7TGzevFkbN250Wu/yXauvDlh58eqrr2rDhg16++239eyzz6pVq1YaPny4/vnnH5e3DQDIf3369FFGRoaeffbZLMsuXrzoOFfk5NyZ2/MLeeKAYz55gjyBwotLM1CgtGrVSqVKldKAAQM0evRo2Ww2zZ07N9fD9PKiVKlSWrx4sbp06aLGjRurf//+atq0qSRp+/bt+vDDD9WyZUtJlzr/MTExiouLU6dOnXT33XcrISFBb775ppo3b+50IylXdezYURERERo8eLCefPJJ+fr66r333lOZMmV08OBBx3pz5szRm2++qZ49e6patWo6c+aMZs6cqaCgIHXp0uWa2588ebJWrlypNm3a6NFHH1WRIkX01ltvKS0tzenZ5Pnhscceu+E6d911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j6ZOnapffvlFc+bM0bfffqunnnpK0qUhdVOmTFFQUJCSkpKUlJSksWPHZqmlX79++uKLLxwhQ5JWrFih1NRU9ezZU5IUHx+v999/XzNmzNAvv/yiMWPGqH///lq7dq1bfl6Fnb+/vy5cuKCBAwdq69at+vzzz7Vx40YZhqEuXbooPT1dkjRixAilpaVp3bp1+umnn/Tiiy8qMDAwy/b43QOA9ZAtkFPkCgBex0C+GzBggNG9e3fDMAzj1ltvNR566CHDMAxj8eLFxuVfweDBg42hQ4c6ve+7774zfHx8jHPnzhm7d+82JBlbtmxxLN+7d68hyXjttdeuue+PP/7YCA0NdbyeNWuWERwcnGW9SpUqObaTnp5ulC5d2nj//fcdy++//37j3nvvNQzDMM6fP28EBAQYGzZscNrG4MGDjfvvv//6PwxkceXnIzMz01i5cqVht9uNHj16GJKM77//3rHuP//8Y/j7+xsLFy40DMMwGjRoYMTGxma73dWrVxuSjJMnTxqGwe8eAKyEbIFrIVcAKAiKmNUAKaxefPFF3X777Vm6xj/++KN27dqlefPmOeYZhqHMzEwlJiZqz549KlKkiG6++WbH8urVq6tUqVJO21m1apXi4+P122+/6fTp07p48aLOnz+v1NTUHF+vV6RIEfXp00fz5s3TAw88oLNnz+qzzz7TRx99JEnat2+fUlNTdeeddzq978KFC2rSpEmufh64ZOnSpQoMDFR6eroyMzPVt29f9erVS0uXLlWLFi0c64WGhqpWrVravXu3JGn06NEaPny4vv76a0VGRqp3795q2LBhnuvgdw8ABQ/ZAlcjVwDwdjQiPKxt27aKiopSTEyMBg4c6JifkpKiRx55RKNHj87ynoiICO3Zs+eG2z5w4IDuuusuDR8+XM8995xCQkK0fv16DR48WBcuXMjVjYP69eundu3a6ejRo1q5cqX8/f3VqVMnR62StGzZMt10001O77Pb7TneB/5Phw4dNH36dPn5+Sk8PFxFihTR559/fsP3Pfzww4qKitKyZcv09ddfKz4+Xq+88opGjRqV51r43QNAwUK2wNXIFQC8HY0IE7zwwgtq3LixatWq5Zh3880369dff1X16tWzfU+tWrV08eJF7dixQ02bNpV0qYt85Z2yt23bpszMTL3yyivy8bl0+4+FCxc6bcfPz08ZGRk3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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.972973 | 0.972973 |   0.972973 |  37        |\n',
      '| 2            |    0.971429 | 0.971429 |   0.971429 |  35        |\n',
      '| accuracy     |    0.980952 | 0.980952 |   0.980952 |   0.980952 |\n',
      '| macro avg    |    0.981467 | 0.981467 |   0.981467 | 105        |\n',
      '| weighted avg |    0.980952 | 0.980952 |   0.980952 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['Logistic regression'] = lr_score\n",
    'score'],
   'metadata': {'id': 'uBbjg5rNUzlz',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'e613b4ec-0acc-4abc-d32c-7221fa0dfc51'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression\n',
       'Precision Train             0.980952\n',
       'Precision Test              0.979167\n',
       'Recall Train                0.980952\n',
       'Recall Test                 0.977778\n',
       'Accuracy Train              0.980952\n',
       'Accuracy Test               0.977778\n',
       'F1 macro Train              0.980952\n',
       'F1 macro Test               0.977692'],
      'text/html': ['\n',
       '  <div id="df-9f18029d-c34e-495f-82e6-d30d8d6d87e1" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-9f18029d-c34e-495f-82e6-d30d8d6d87e1\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-9f18029d-c34e-495f-82e6-d30d8d6d87e1 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-9f18029d-c34e-495f-82e6-d30d8d6d87e1');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-bb7041ab-93ec-4080-bc11-34e73afbfb72">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-bb7041ab-93ec-4080-bc11-34e73afbfb72\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-bb7041ab-93ec-4080-bc11-34e73afbfb72 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 116}]},
  {'cell_type': 'markdown',
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning'],
   'metadata': {'id': 'iv0m-lDQwA-W'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 1 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "param_grid = {'C': [100,10,1,0.1,0.01,0.001,0.0001],\n",
    "              'penalty': ['l1', 'l2'],\n",
    "              'solver':['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga']}\n",
    '\n',
    '# Initializing the logistic regression model\n',
    'logreg = LogisticRegression(fit_intercept=True, max_iter=10000, random_state=0)\n',
    '\n',
    '# Repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=4, random_state=0)\n',
    '\n',
    '# Using GridSearchCV to tune the hyperparameters using cross-validation\n',
    'grid = GridSearchCV(logreg, param_grid, cv=rskf)\n',
    'grid.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters found by GridSearchCV\n',
    'best_params = grid.best_params_\n',
    'print("Best hyperparameters: ", best_params)'],
   'metadata': {'id': 'jqkHZjt7wA-X',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'dc5754f9-4774-442e-df45-776f0470b4e8'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'C': 10, 'penalty': 'l2', 'solver': 'saga'}\n"]}]},
  {'cell_type': 'code',
   'source': ['# Initiate model with best parameters\n',
    "lr_model2 = LogisticRegression(C=best_params['C'],\n",
    "                                  penalty=best_params['penalty'],\n",
    "                                  solver=best_params['solver'],\n",
    '                                  max_iter=10000, random_state=0)'],
   'metadata': {'id': 'bfWwIMtCVUf-'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'lr_score2 = evaluate_model(lr_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'b9VFl9UaVWMy',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': '40d6b5b4-6db4-4b5b-8bd2-653f934c4261'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsrUlEQVR4nO3deVgVdf//8dcB5QgiKCgiKe77npq55FIkLplbt5VZapZLLilZxn2nolm03JV5Z1pmaqalLVpZaWoumUuu2WK4pFmJSy4oooAwvz/8eb4eQQXO4cxheD6ua67bMzNn5j1wuufF+3xmxmYYhiEAAAAAAAAP8DG7AAAAAAAAUHjQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGX1799flSpVMrsMtzp69KjuuecehYaGymazacqUKW7fh81mU1xcnNu3W1BZ8XMEACjcyBOeR54AnNGIgMfZbLYcTWvWrDG71GwdPXpUY8aMUa1atRQQEKDixYurSZMmmjx5sk6fPp2v+x49erSWL1+u2NhYzZs3Tx07dszX/XlSXFycbDabfHx89Oeff2ZZfubMGfn7+8tms2n48OG53n5KSori4uK89nMFAHAfT2aNvJ5fyBP5gzwBFAxFzC4Ahc+8efOcXr/33ntasWJFlvm1a9d2aT8zZ85UZmamS9u42pYtW9S5c2clJyerb9++atKkiSRp69ateuGFF7Ru3Tp98803bt3nlb799lt169ZNY8aMybd9nD9/XkWKmPd/DXa7XR988IGeeuopp/mffvqpS9tNSUnRxIkTJUnt2rXL8fvy43MEAMhfnsoaUt7OL+SJ/EeeALwbjQh4XN++fZ1eb9q0SStWrMgy/2opKSkKCAjI8X6KFi2ap/qu5fTp0+rRo4d8fX21Y8cO1apVy2n5c889p5kzZ7p1n1c7duyYSpYsma/7KFasWL5u/0Y6d+6cbXBYsGCBunTpok8++cQjdZw7d07Fixd3++cIAJD/8po1PIE84RnkCcC7cWkGvFK7du1Ur149bdu2TW3atFFAQID+/e9/S5I+++wzdenSRREREbLb7apataqeffZZZWRkOG3j6mvxDh48KJvNpv/+9796++23VbVqVdntdjVr1kxbtmy5YU1vvfWW/v77b7366qtZQoMklS1bVs8884zTvDfffFN169aV3W5XRESEhg0blmW45eVj/fXXX9W+fXsFBATopptu0ksvveRYZ86cObLZbDIMQ9OmTXMMKZX+bwji1S6/5+DBg455W7duVXR0tEqXLi1/f39VrlxZDz/8sNP7srumc8eOHerUqZOCgoIUGBioO+64Q5s2bcp2f99//71iYmJUpkwZFS9eXD169NDx48ev+XO9Wp8+fbRz50799ttvjnlHjhzRt99+qz59+mRZPy0tTePHj1eTJk0UHBys4sWL67bbbtPq1asd6xw8eFBlypSRJE2cONHx87t8nP3791dgYKD279+vzp07q0SJEnrggQccy678HE2YMEE+Pj5atWqVUx2DBg2Sn5+ffvzxxxwfKwDAPJmZmZoyZYrq1q2rYsWKqWzZsho8eLBOnTrltN71zp03Or9khzxBnpDIEwAjIuC1Tpw4oU6dOum+++5T3759VbZsWUmXTlCBgYGKiYlRYGCgvv32W40fP15nzpzRyy+/fMPtLliwQGfPntXgwYNls9n00ksvqWfPnvr999+v263+/PPP5e/vr3vuuSdH9cfFxWnixImKiorS0KFDlZCQoOnTp2vLli36/vvvnfZ16tQpdezYUT179lTv3r318ccfa+zYsapfv746deqkNm3aaN68eXrwwQd155136qGHHspRDVc6duyYOnTooDJlyujpp59WyZIldfDgwRsOUfzll1902223KSgoSE899ZSKFi2qt956S+3atdPatWvVvHlzp/VHjBihUqVKacKECTp48KCmTJmi4cOHa+HChTmqs02bNipfvrwWLFigSZMmSZIWLlyowMBAdenSJcv6Z86c0TvvvKP7779fjz76qM6ePatZs2YpOjpaP/zwgxo1aqQyZcpo+vTpGjp0qHr06KGePXtKkho0aODYzsWLFxUdHa3WrVvrv//97zVH3zzzzDP64osvNHDgQP30008qUaKEli9frpkzZ+rZZ59Vw4YNc3ScAABzDR48WHPmzNGAAQM0cuRIHThwQG+88YZ27NjhOE/f6NyZk/PL1cgT5AmJPAHIAEw2bNgw4+qPYtu2bQ1JxowZM7Ksn5KSkmXe4MGDjYCAAOPChQuOef369TMqVqzoeH3gwAFDkhEaGmqcPHnSMf+zzz4zJBlffPHFdessVaqU0bBhwxwd07Fjxww/Pz+jQ4cORkZGhmP+G2+8YUgy3n33Xce8y8f63nvvOealpqYa4eHhRq9evZy2K8kYNmyY07wJEyZk+fkZhmHMnj3bkGQcOHDAMAzDWLx4sSHJ2LJly3Vrl2RMmDDB8bp79+6Gn5+fsX//fse8w4cPGyVKlDDatGmTZX9RUVFGZmamY/7o0aMNX19f4/Tp09fd7+XjOH78uDFmzBijWrVqjmXNmjUzBgwYkO3P4OLFi0ZqaqrTtk6dOmWULVvWePjhhx3zjh8/nuXYLuvXr58hyXj66aezXXbl58gwDOOnn34y/Pz8jEceecQ4deqUcdNNNxlNmzY10tPTr3uMAABzXJ01vvvuO0OSMX/+fKf1li1b5jQ/J+fO651fskOeIE9cRp5AYcalGfBadrtdAwYMyDLf39/f8e+zZ8/qn3/+0W233aaUlBSn4XfXcu+996pUqVKO17fddpsk6ffff7/u+86cOaMSJUrkqPaVK1cqLS1No0aNko/P//1n9uijjyooKEhffvml0/qBgYFO1636+fnplltuuWFNuXH5WtClS5cqPT09R+/JyMjQN998o+7du6tKlSqO+eXKlVOfPn20fv16nTlzxuk9gwYNchraedtttykjI0N//PFHjmvt06eP9u3bpy1btjj+N7thlJLk6+srPz8/SZeG2Z48eVIXL15U06ZNtX379hzvU5KGDh2ao/Xq1auniRMn6p133lF0dLT++ecfzZ0719SbcgEAcu6jjz5ScHCw7rzzTv3zzz+OqUmTJgoMDHQMx8/LufNGyBPkicvIEyjMaETAa910002OE8KVfvnlF/Xo0UPBwcEKCgpSmTJlHCfdpKSkG243MjLS6fXlpsTV14ReLSgoSGfPns1R7ZdPkjVr1nSa7+fnpypVqmQ5iZYvXz7LdZmlSpW6YU250bZtW/Xq1UsTJ05U6dKl1a1bN82ePVupqanXfM/x48eVkpKS5TikS3caz8zMzPJorLz+fK/UuHFj1apVSwsWLND8+fMVHh6u22+//Zrrz507Vw0aNFCxYsUUGhqqMmXK6Msvv8zR5+GyIkWKqHz58jle/8knn1TDhg31ww8/aMKECapTp06O3wsAMNfevXuVlJSksLAwlSlTxmlKTk7WsWPHJOXt3Hkj5Aln5AnyBAon2m3wWleOfLjs9OnTatu2rYKCgjRp0iRVrVpVxYoV0/bt2zV27NgcPRbJ19c32/mGYVz3fbVq1dLOnTuVlpaWbYPEFXmtSVK2N5aSlOXmnTabTR9//LE2bdqkL774QsuXL9fDDz+sV155RZs2bVJgYGDuC8+GK8dypT59+mj69OkqUaKE7r33Xqdvgq70/vvvq3///urevbuefPJJhYWFydfXV/Hx8dq/f3+O92e326+5j+z8/vvv2rt3ryTpp59+yvH7AADmy8zMVFhYmObPn5/t8ss3JMyPcyd5ImfIE4C1MSICBcqaNWt04sQJzZkzR48//rjuuusuRUVFOV1qkV+6du2q8+fP5+hxTxUrVpQkJSQkOM1PS0vTgQMHHMvd4fKxX3337GsNXbz11lv13HPPaevWrZo/f75++eUXffjhh9muW6ZMGQUEBGQ5Dkn67bff5OPjowoVKrh2ANfQp08fJSYmas+ePdccRilJH3/8sapUqaJPP/1UDz74oKKjoxUVFaULFy44rXetgJUXmZmZ6t+/v4KCgvTvf/9bH3zwgcvPJQcAeE7VqlV14sQJtWrVSlFRUVmmq28UeL1zZ27PL+QJZ+QJ8gQKJxoRKFAud8ev7IanpaXpzTffzPd9DxkyROXKldMTTzyhPXv2ZFl+7NgxTZ48WZIUFRUlPz8/TZ061anWWbNmKSkpKdu7NedV1apVJUnr1q1zzDt37pzmzp3rtN6pU6eyfIvQqFEjSbrmcEpfX1916NBBn332mdNju44ePaoFCxaodevWCgoKcsNRZFW1alVNmTJF8fHxuuWWW665Xnafic2bN2vjxo1O612+a/XVASsvXn31VW3YsEFvv/22nn32WbVs2VJDhw7VP//84/K2AQD5r3fv3srIyNCzzz6bZdnFixcd54qcnDtze34hTxx0zCdPkCdQeHFpBgqUli1bqlSpUurXr59Gjhwpm82mefPm5XqYXl6UKlVKixcvVufOndWoUSP17dtXTZo0kSRt375dH3zwgVq0aCHpUuc/NjZWEydOVMeOHXX33XcrISFBb775ppo1a+Z0IylXdejQQZGRkRo4cKCefPJJ+fr66t1331WZMmV06NAhx3pz587Vm2++qR49eqhq1ao6e/asZs6cqaCgIHXu3Pma2588ebJWrFih1q1b67HHHlORIkX01ltvKTU11enZ5Pnh8ccfv+E6d911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qSpityv66f/KPzhERxN2ad7DnXTqz99Nrhye8POvCXpoyGjH6/jX3pQk9bgrWi/EPW1WWdZmsW8tCgqyRf4gWxReflWaqOzEbxyvS/V/WZKUvGaekhZNVkCzrpKkcv/d4vS+oxM6KPXXdZ4rFB738+69emjYWMfr+NffliT16BylF8Y/YVZZ1maxbGEzDMMwY8dr165Vq1atVKRIEa1du/a667Zt2zZ3G0/5x4XKYCVxN5czuwR4kbgtf5hdArxFiYh83Xzm/6Jcer/PiJVuqqRwIVvAEw71K292CfASkW//anYJ8CalquTr5l3JFrnJFRkZGYqLi9P777+vI0eOKCIiQv3799czzzzj1id3mDYi4soAkOswAACAN7PYtxYFBdkCAGBZHsoWL774oqZPn665c+eqbt262rp1qwYMGKDg4GCNHDnSbfvxigtNli1bpvXr1zteT5s2TY0aNVKfPn106tQpEysDAAAFEdkCAIDc27Bhg7p166YuXbqoUqVKuueee9ShQwf98MMPbt1PnhoR3333nfr27asWLVro778v3QBt3rx5Tif83HjyySd15swZSdJPP/2kmJgYde7cWQcOHLjhM8YBAPA6Nh/XpkKIbAEAwHW4kCtSU1N15swZpyk1NTXb3bRs2VKrVq3Snj17JEk//vij1q9fr06dOrn1cHKddj755BNFR0fL399fO3bscBxAUlKSnn/++TwVceDAAdWpU8ex/a5du+r555/XtGnT9PXXX+dpmwAAmMZmc20qZMgWAADcgAu5Ij4+XsHBwU5TfHx8trt5+umndd9996lWrVoqWrSoGjdurFGjRumBBx5w6+HkuhExefJkzZgxQzNnznR6NnerVq20ffv2PBXh5+enlJQUSdLKlSvVoUMHSVJISIjj2wwAAAoMRkTkCtkCAIAbcCFXxMbGKikpyWmKjY3NdjeLFi3S/PnztWDBAm3fvl1z587Vf//7X82dO9eth5Prm1UmJCSoTZs2WeYHBwfr9OnTeSqidevWiomJUatWrfTDDz9o4cKFkqQ9e/aofHnuTAwAKGAK4agGV5AtAAC4AReyhd1ul91uz9G6Tz75pGNUhCTVr19ff/zxh+Lj49WvX78813C1XH/tEh4ern379mWZv379elWpkrdHlrzxxhsqUqSIPv74Y02fPl033XSTJOnrr79Wx44d87RNAABMw6UZuUK2AADgBjyUK1JSUuTj49wm8PX1VWZmpjuPJvcjIh599FE9/vjjevfdd2Wz2XT48GFt3LhRY8aM0bhx4/JURGRkpJYuXZpl/muvvZan7QEAgIKDbAEAgHfo2rWrnnvuOUVGRqpu3brasWOHXn31VT388MNu3U+uGxFPP/20MjMzdccddyglJUVt2rSR3W7XmDFjNGLEiDwXkpGRoSVLlmj37t2SpLp16+ruu++Wr69vnrcJAIApCuF9HlxBtgAA4AY8lC3+97//ady4cXrsscd07NgxRUREaPDgwRo/frxb92MzDMPIyxvT0tK0b98+JScnq06dOgoMDMxzEfv27VPnzp31999/q2bNmpIuXS9aoUIFffnll6patWruNpjyT55rgbXE3VzO7BLgReK2/GF2CfAWJSLydfOZM7u59H6fRz9zUyUFC9kCBcGhftxjBJdEvv2r2SXAm5TK26WEOeVKtvDGXJHrERGX+fn5OR6L5aqRI0eqatWq2rRpk0JCQiRJJ06cUN++fTVy5Eh9+eWXbtkPAAAewYiIPCFbAABwDRbLFrluRLRv316269zw4ttvv811EWvXrnUKCpIUGhqqF154Qa1atcr19gAAMFUhvOGkK8gWAADcgMWyRa4bEY0aNXJ6nZ6erp07d+rnn3/O8+M87Ha7zp49m2V+cnKy/Pz88rRNAABMY7FvLfIb2QIAgBuwWLbIdSPiWnebjouLU3Jycp6KuOuuuzRo0CDNmjVLt9xyiyRp8+bNGjJkiO6+++48bRMAABQMZAsAAAoXt7VV+vbtq3fffTdP7506daqqVaumli1bqlixYipWrJhatWqlatWq6fXXX3dXiQAAeIYrz/q22NBLV5AtAAD4/yyWK9zWiNi4caOKFSuWq/dkZmbqxRdfVJcuXfT333+re/fu+uijj/Txxx8rISFBixcvVnBwsLtKBADAM2w+rk25sG7dOnXt2lURERGy2WxasmSJ0/L+/fvLZrM5TR07dnTjweYfsgUAAP+fh3KFp+T60oyePXs6vTYMQ4mJidq6davGjRuXq20999xziouLU1RUlPz9/fXVV18pODg4z99+AADgFTz47cO5c+fUsGFDPfzww1nO0Zd17NhRs2fPdry22+2eKi9HyBYAANyAl45syKtcNyKu/hbBx8dHNWvW1KRJk9ShQ4dcbeu9997Tm2++qcGDB0uSVq5cqS5duuidd96Rj493dm4AALghD3770KlTJ3Xq1Om669jtdoWHh3uootwjWwAAcANeOrIhr3LViMjIyNCAAQNUv359lSpVyuWdHzp0SJ07d3a8joqKks1m0+HDh1W+fHmXtw8AgCm87FuLNWvWKCwsTKVKldLtt9+uyZMnKzQ01OyyJJEtAADIES/LFq7KVSPC19dXHTp00O7du90SFi5evJjl2s+iRYsqPT3d5W0DAGAaF7+1SE1NVWpqqtM8u92ep0sqOnbsqJ49e6py5crav3+//v3vf6tTp07auHGjfH19XarTHcgWAADkQGEeESFJ9erV0++//67KlSu7vHPDMNS/f3+nYHXhwgUNGTJExYsXd8z79NNPXd4XAAAFRXx8vCZOnOg0b8KECYqLi8v1tu677z7Hv+vXr68GDRqoatWqWrNmje644w5XS3ULsgUAAIVLrhsRkydP1pgxY/Tss8+qSZMmTid1SQoKCsrxtvr165dlXt++fXNbEgAA3sXF4ZOxsbGKiYlxmueuG0xWqVJFpUuX1r59+7ymEUG2AADgBgrrpRmTJk3SE0884bju8u6775btih+GYRiy2WzKyMjI8c6vvIM3AACW4eLwybxehpETf/31l06cOKFy5crly/Zzg2wBAEAOFdZLMyZOnKghQ4Zo9erV+VkPAAAFnwe/tUhOTta+ffscrw8cOKCdO3cqJCREISEhmjhxonr16qXw8HDt379fTz31lKpVq6bo6GiP1XgtZAsAAHKosI6IMAxDktS2bdt8KwYAAEvw4LcWW7duVfv27R2vL1/S0a9fP02fPl27du3S3Llzdfr0aUVERKhDhw569tln823ERW6QLQAAyKHCOiJCktNwSQAAcA0ePF+2a9fO8Qd9dpYvX+6xWvKCbAEAQA5Y7HyZq0ZEjRo1bhgYTp486VJBAACg8CBbAABQ+OSqETFx4kQFBwfnVy0AAFiDxYZP5ieyBQAAOWCxbJGrRsR9992nsLCw/KoFAABr8LHW8Mn8RLYAACAHLJYtctyI4BpOAAByiHNmjpAtAADIIYudM3P91AwAAHADFhs+mV/IFgAA5JDFskWOGxGZmZn5WQcAANZhsW8t8gvZAgCAHLJYtrBWWwUAAAAAAHi1XN2sEgAA5IDFhk8CAACTWSxb0IgAAMDdLBYWAACAySyWLax1NAAAeAObj2sTAADAlTyYK/7++2/17dtXoaGh8vf3V/369bV161a3Hg4jIgAAcDeL3VAKAACYzEPZ4tSpU2rVqpXat2+vr7/+WmXKlNHevXtVqlQpt+6HRgQAAO7GqAYAAOBOHsoWL774oipUqKDZs2c75lWuXNnt+yEpAQAAAABgUampqTpz5ozTlJqamu26n3/+uZo2bap//etfCgsLU+PGjTVz5ky310QjAgAAd+MeEQAAwJ1cyBXx8fEKDg52muLj47Pdze+//67p06erevXqWr58uYYOHaqRI0dq7ty5bj0cLs0AAMDduEcEAABwJxeyRWxsrGJiYpzm2e32bNfNzMxU06ZN9fzzz0uSGjdurJ9//lkzZsxQv3798lzD1WhEAADgboxqAAAA7uRCtrDb7ddsPFytXLlyqlOnjtO82rVr65NPPsnz/rNDIwIAAHejEQEAANzJQ9miVatWSkhIcJq3Z88eVaxY0a37oREBAIC70YgAAADu5KFsMXr0aLVs2VLPP/+8evfurR9++EFvv/223n77bbfuh6QEAIC72WyuTQAAAFfyUK5o1qyZFi9erA8++ED16tXTs88+qylTpuiBBx5w6+EwIgKWFrc90ewS4EVebFbO7BLgJcb+km52CQAKqMi5f5ldArzE/HbhZpcAL/LADxfNLsFt7rrrLt111135ug8aEQAAuBuXZgAAAHeyWLagEQEAgLtZLCwAAACTWSxb0IgAAMDdfKwVFgAAgMksli1oRAAA4G7ccBIAALiTxbIFjQgAANzNYsMnAQCAySyWLax1NAAAAAAAwKsxIgIAAHez2LcWAADAZBbLFjQiAABwN4tdxwkAAExmsWxBIwIAAHez2LcWAADAZBbLFjQiAABwN4uFBQAAYDKLZQsaEQAAuJvFwgIAADCZxbKFtY4GAAAAAAB4NRoRAAC4m83m2pQL69atU9euXRURESGbzaYlS5Y4LTcMQ+PHj1e5cuXk7++vqKgo7d27140HCwAA8p2HcoWn0IgAAMDdbD6uTblw7tw5NWzYUNOmTct2+UsvvaSpU6dqxowZ2rx5s4oXL67o6GhduHDBHUcKAAA8wUO5wlO4RwQAAO7mwZN+p06d1KlTp2yXGYahKVOm6JlnnlG3bt0kSe+9957Kli2rJUuW6L777vNYnQAAwAVe2lDIK2sdDQAA3sDFSzNSU1N15swZpyk1NTXXZRw4cEBHjhxRVFSUY15wcLCaN2+ujRs3uvOIAQBAfuLSDAAAcF0uXpoRHx+v4OBgpyk+Pj7XZRw5ckSSVLZsWaf5ZcuWdSwDAAAFAJdmAACA63LxpB8bG6uYmBineXa73aVtAgCAAsxLGwp5RSMCAAAvY7fb3dJ4CA8PlyQdPXpU5cqVc8w/evSoGjVq5PL2AQAA8sJabRUAALyBB5+acT2VK1dWeHi4Vq1a5Zh35swZbd68WS1atHDbfgAAQD7zglzhToyIAADA3Xw8d2Oo5ORk7du3z/H6wIED2rlzp0JCQhQZGalRo0Zp8uTJql69uipXrqxx48YpIiJC3bt391iNAADARR7MFp5AIwIAAHfz4LcPW7duVfv27R2vL99bol+/fpozZ46eeuopnTt3ToMGDdLp06fVunVrLVu2TMWKFfNYjQAAwEVeOrIhr2hEAADgbh4MC+3atZNhGNcuxWbTpEmTNGnSJI/VBAAA3IxGBAAAuC6LhQUAAGAyi2ULax0NAAAAAADwajQiAABwN5vNtQkAAOBKJuWKF154QTabTaNGjXLPcfx/XJoBAIDb0UwAAADu5PlssWXLFr311ltq0KCB27fNiAgAANzNlWd9W+waUAAA4AYezhXJycl64IEHNHPmTJUqVcrNB0MjAgAA9+PSDAAA4E4u5IrU1FSdOXPGaUpNTb3u7oYNG6YuXbooKioqXw6HRgQAAG7n4+IEAABwpbznivj4eAUHBztN8fHx19zThx9+qO3bt193HVdxjwgAAAAAACwqNjZWMTExTvPsdnu26/755596/PHHtWLFChUrVizfaqIRAQCAu3F5BQAAcCcXsoXdbr9m4+Fq27Zt07Fjx3TzzTc75mVkZGjdunV64403lJqaKl9f3zzXchmNCAAA3I1GBAAAcCcPZYs77rhDP/30k9O8AQMGqFatWho7dqxbmhASjQgAAPIB93kAAADu5JlsUaJECdWrV89pXvHixRUaGpplvitoRAAA4G6MiAAAAO5ksWxBIwIAAHezWFgAAAAmMzFbrFmzxu3bZOwoAAAAAADwGEZEAADgdvT5AQCAO1krW9CIAADA3bg0AwAAuJPFsgWNCAAA3M1mrW8tAACAySyWLWhEAADgdtb61gIAAJjNWtmCRgQAAO5mseGTAADAZBbLFjQiAABwN4sNnwQAACazWLaw1tEAAAAAAACvxogIC5q/8BPNmrtAx0+cVK0a1TRu7Gg1qFfH7LJgEj4PhU+jewer8b2DFXxTRUnSP/t+1Ybpk/X7+uWSpPtnr1TkLW2d3rNj4dv6ZtIwj9dqVTaLDZ8EOJfgMj4LhVNY49tUu+8TCql1swLKRGjtkz3119rPHctvHT9LVe/q5/SewxuXa/XjXTxdqmVZLVswIsJivlq+UvGv/E/DBj+sxQveVa0a1TTwsRidOHnK7NJgAj4PhdPZo39p7Wv/1tx/Ndfc3rfqj82r1fONT1W66v8FxZ0fvaM32pZ3TGteedrEiq3Ix8UJ8B6cS3AZn4XCq0ix4jq9d5e2vDzimusc3rBMn3S6yTF9/8wDHqywMLBWrvDOqpBns99fqN49u6pXty6qVrWyJv7nSRUrZtcnS5aaXRpMwOehcNq/5kv9/t0ynTq0T6f+2Kvvpo5XWkqyIho2d6xz8UKKzv1z1DGlnTtrYsUWZLO5NgFehHMJLuOzUHgd3rhMP84Yr7/WfHbNdTLSU3XhxFHHlHb2tOcKLAwslitoRFhIWnq6ftmdoJbNmznm+fj4qGXzptqx62cTK4MZ+DxAkmw+PqrdqbeK+hfX3z9ucsyv0+V+jVifqIeX7FCbUZNVpJi/iVVaEI0IWATnElzGZwE3Uvbmtuq17LC6fvSLmo19Q37BIWaXZC0WyxXcI8JCTp06rYyMDIWGOP9HHxoaot8PHjKpKpiFz0PhVrp6PT244DsV8SumtJRkLR55j07s3y1J+vWrD3Xm8B86eyxRYTXqq13M8wqpVENLRvU2uWoroc8Pa+Bcgsv4LOB6Ejcu15+rF+vc4YMKLF9FjYZOVvspX+qbga1kZGaaXZ5FWCtb0IgAAAs6eTBBs3s1lT0wWDU79FSX59/Vgv536MT+3frxo3cc6/2z92cl/5Oo+99doZIVquj0n7+bWDUAACiI/lixyPHv0/t/1um9P6nbkr0Ka9JOR7d8a2Jl8FbWaqsUcqVKlZSvr69OnDzpNP/EiZMqHcrQqMKGz0PhlpmertOH9uvor9u1bsozOpawS037Zn+DqcRdP0iSSkVW9WSJ1salGbAIziW4jM8CciP58AFdOHVcJcqTLdzGYrmCRoSF+BUtqrq1a2rj5q2OeZmZmdr4wzY1blDPxMpgBj4PuJLNx0e+fvZsl4XVaiRJSj5+xIMVWRyNCFgE5xJcxmcBueEfdpPswaE6/0+i2aVYh8VyBZdmWMyAvvdq7PjnVK9OLTWoV0dzFyzS+fMX1LMbz/AtjPg8FE5tRk3W798t05nEP+VXvITqdLlPkc3aatGgzipZoYrqdLlP+9ct0/nTJxRWs75uf+q/OrRlnY7v+cns0i2EPj+sg3MJLuOzUHgV8S+uEuWrOV4HRlRWqeoNlXrmpNLOnFT9R8br0OpPdeHEEQWWr6rGw+N19q99Stz0jYlVW421sgWNCIvpHB2lk6dOa+r0d3T8xEnVrlld70x7hSFzhRSfh8KpeEiY7oqfreJlyin1bJKO7/lJiwZ11sGNq1QivLwq3nqHmj44UkX9i+vMkT+1Z+VibZjxvNllW4uXfvsA5AXnElzGZ6HwCqndVHfOWOV43WT0K5Kk/UvnasuLw1Syen1V6fKgipYoqfPHDytx8wrtemuCMtPTzCrZeiyWLWyGYRhmF+F2Kf+YXQEAL/Ris3JmlwAvMfaX9HzdvvHnRpfeb6vQIkfrxcXFaeLEiU7zatasqd9++82l/SMbZAsAV5nfLtzsEuBFHvjhYr5u35VskdNc4UmMiAAAoACrW7euVq5c6XhdpAindgAA4N1IKwAAuJ3nhk8WKVJE4eF8KwcAgLVZ69IMGhEAALibi9dxpqamKjU11Wme3W6X3Z71ySd79+5VRESEihUrphYtWig+Pl6RkZEu7R8AAHgZi90jwlq33gQAwBvYfFya4uPjFRwc7DTFx8dn2U3z5s01Z84cLVu2TNOnT9eBAwd022236ezZsyYcNAAAyDeuZAsvxIgIAADczcVvLWJjYxUTE+M0L7vREJ06dXL8u0GDBmrevLkqVqyoRYsWaeDAgS7VAAAAvAgjIgAAwPXZXJrsdruCgoKcpuwaEVcrWbKkatSooX379uXHQQEAANO4ki1yLj4+Xs2aNVOJEiUUFham7t27KyEhwW1HcRmNCAAA3M3FSzPyKjk5Wfv371e5cjyqFgAAS/FQrli7dq2GDRumTZs2acWKFUpPT1eHDh107tw5tx4Ol2YAAFBAjRkzRl27dlXFihV1+PBhTZgwQb6+vrr//vvNLg0AABRAy5Ytc3o9Z84chYWFadu2bWrTpo3b9kMjAgAAt/PMdZx//fWX7r//fp04cUJlypRR69attWnTJpUpU8Yj+wcAAJ5izj0ikpKSJEkhISFu3S6NCAAA3M1DN5T68MMPPbIfAABgMheyRW4eC36lzMxMjRo1Sq1atVK9evXyvP/scI8IAADczrWbVQIAADjLe67I6WPBrzZs2DD9/PPP+fLFByMiAABwN4s9YgsAAJjMhWyR08eCX2n48OFaunSp1q1bp/Lly+d539dCIwIAAAAAAIvKyWUYlxmGoREjRmjx4sVas2aNKleunC810YgAAAAAAAAaNmyYFixYoM8++0wlSpTQkSNHJEnBwcHy9/d3235oRAAA4G5cmgEAANzJQ9li+vTpkqR27do5zZ89e7b69+/vtv3QiAAAwO1oRAAAAHfyTLYwDMMj+6ERAQCAuzEiAgAAuJPFsgWNCAAA3M5aYQEAAJjNWtmCRgQAAO5msW8tAACAySyWLXzMLgAAAAAAABQejIgAAMDtrPWtBQAAMJu1sgWNCAAA3M1iwycBAIDJLJYtaEQAAOB21goLAADAbNbKFjQiAABwN4t9awEAAExmsWxBIwIAALezVlgAAABms1a24KkZAAAAAADAY2hEAAAAAAAAj+HSDAAA3Mxmses4AQCAuayWLWhEAADgdtYKCwAAwGzWyhY0IgAAcDeLfWsBAABMZrFsQSMCAAC3s1ZYAAAAZrNWtqARAQCAu1nsWwsAAGAyi2ULnpoBAAAAAAA8hhERAAC4nbW+tQAAAGazVragEQEAgLtZbPgkAAAwmcWyBY0IAADczlphAQAAmM1a2YJGBAAA7maxby0AAIDJLJYtaEQAAOB21goLAADAbNbKFjw1AwAAAAAAeAwjIgAAcDdrfWkBAADMZrFsQSMCAAC3s1haAAAAJrNWtuDSDAAA3M1mc23KpWnTpqlSpUoqVqyYmjdvrh9++CEfDgoAAJjGg7lCyv9sQSMCAAC3s7k45dzChQsVExOjCRMmaPv27WrYsKGio6N17Ngxdx0MAAAwnWdyheSZbEEjAgAAd/PgiIhXX31Vjz76qAYMGKA6depoxowZCggI0LvvvptPBwcAADzOgyMiPJEtaEQAAFBApaWladu2bYqKinLM8/HxUVRUlDZu3GhiZQAAoCDyVLbgZpUAALidazeUSk1NVWpqqtM8u90uu93uNO+ff/5RRkaGypYt6zS/bNmy+u2331yqAQAAeJO8Z4uc5grJc9nCmo2IgNJmV2C61NRUxcfHKzY2NtsPGAoPPgv/Z+wv6WaXgMLCxfNQfFycJk6c6DRvwoQJiouLc2m7cAHZgvMJHPgsXPLADxfNLgGFiQvnIW/MFTbDMAzT9o58c+bMGQUHByspKUlBQUFmlwMT8VkACp6cfnORlpamgIAAffzxx+revbtjfr9+/XT69Gl99tlnnigXhQTnE1zGZwEoWHIzIsJT2YJ7RAAA4GXsdruCgoKcpuzCgp+fn5o0aaJVq1Y55mVmZmrVqlVq0aKFJ0sGAABeKqe5QvJctrDmpRkAABQSMTEx6tevn5o2bapbbrlFU6ZM0blz5zRgwACzSwMAAAWQJ7IFjQgAAAqwe++9V8ePH9f48eN15MgRNWrUSMuWLctykykAAICc8ES2oBFhUXa7XRMmTCjUNxDCJXwWAOsbPny4hg8fbnYZsDjOJ7iMzwJgffmdLbhZJQAAAAAA8BhuVgkAAAAAADyGRgQAAAAAAPAYGhGQJFWqVElTpkwxuwy40Zo1a2Sz2XT69OnrrsfvHgCQHzi/WAu5AoA70YjwgP79+8tms+mFF15wmr9kyRLZbDaP1jJnzhyVLFkyy/wtW7Zo0KBBHq0Fl1z+fNhsNvn5+alatWqaNGmSLl686NJ2W7ZsqcTERAUHB0vidw8AVkK2wLWQKwAUBDQiPKRYsWJ68cUXderUKbNLyVaZMmUUEBBgdhmFVseOHZWYmKi9e/fqiSeeUFxcnF5++WWXtunn56fw8PAbBlJ+9wBQMJEtcC3kCgDejkaEh0RFRSk8PFzx8fHXXGf9+vW67bbb5O/vrwoVKmjkyJE6d+6cY3liYqK6dOkif39/Va5cWQsWLMgy/O3VV19V/fr1Vbx4cVWoUEGPPfaYkpOTJV0aUjdgwAAlJSU5OuVxcXGSnIfR9enTR/fee69Tbenp6SpdurTee+89SVJmZqbi4+NVuXJl+fv7q2HDhvr444/d8JMqnOx2u8LDw1WxYkUNHTpUUVFR+vzzz3Xq1Ck99NBDKlWqlAICAtSpUyft3bvX8b4//vhDXbt2ValSpVS8eHHVrVtXX331lSTnIZT87gHAesgWuBZyBQBvRyPCQ3x9ffX888/rf//7n/76668sy/fv36+OHTuqV69e2rVrlxYuXKj169c7Pbv1oYce0uHDh7VmzRp98sknevvtt3Xs2DGn7fj4+Gjq1Kn65ZdfNHfuXH377bd66qmnJF0aUjdlyhQFBQUpMTFRiYmJGjNmTJZaHnjgAX3xxReOkCFJy5cvV0pKinr06CFJio+P13vvvacZM2bol19+0ejRo9W3b1+tXbvWLT+vws7f319paWnq37+/tm7dqs8//1wbN26UYRjq3Lmz0tPTJUnDhg1Tamqq1q1bp59++kkvvviiAgMDs2yP3z0AWA/ZAjlFrgDgdQzku379+hndunUzDMMwbr31VuPhhx82DMMwFi9ebFz+FQwcONAYNGiQ0/u+++47w8fHxzh//ryxe/duQ5KxZcsWx/K9e/cakozXXnvtmvv+6KOPjNDQUMfr2bNnG8HBwVnWq1ixomM76enpRunSpY333nvPsfz+++837r33XsMwDOPChQtGQECAsWHDBqdtDBw40Lj//vuv/8NAFld+PjIzM40VK1YYdrvd6N69uyHJ+P777x3r/vPPP4a/v7+xaNEiwzAMo379+kZcXFy22129erUhyTh16pRhGPzuAcBKyBa4FnIFgIKgiFkNkMLqxRdf1O23356la/zjjz9q165dmj9/vmOeYRjKzMzUgQMHtGfPHhUpUkQ333yzY3m1atVUqlQpp+2sXLlS8fHx+u2333TmzBldvHhRFy5cUEpKSo6v1ytSpIh69+6t+fPn68EHH9S5c+f02Wef6cMPP5Qk7du3TykpKbrzzjud3peWlqbGjRvn6ueBS5YuXarAwEClp6crMzNTffr0Uc+ePbV06VI1b97csV5oaKhq1qyp3bt3S5JGjhypoUOH6ptvvlFUVJR69eqlBg0a5LkOfvcAUPCQLXA1cgUAb0cjwsPatGmj6OhoxcbGqn///o75ycnJGjx4sEaOHJnlPZGRkdqzZ88Nt33w4EHdddddGjp0qJ577jmFhIRo/fr1GjhwoNLS0nJ146AHHnhAbdu21bFjx7RixQr5+/urY8eOjlol6csvv9RNN93k9D673Z7jfeD/tG/fXtOnT5efn58iIiJUpEgRff755zd83yOPPKLo6Gh9+eWX+uabbxQfH69XXnlFI0aMyHMt/O4BoGAhW+Bq5AoA3o5GhAleeOEFNWrUSDVr1nTMu/nmm/Xrr7+qWrVq2b6nZs2aunjxonbs2KEmTZpIutRFvvJO2du2bVNmZqZeeeUV+fhcuv3HokWLnLbj5+enjIyMG9bYsmVLVahQQQsXLtTXX3+tf/3rXypatKgkqU6dOrLb7Tp06JDatm2bu4NHtooXL57ld1+7dm1dvHhRmzdvVsuWLSVJJ06cUEJCgurUqeNYr0KFChoyZIiGDBmi2NhYzZw5M9vAwO8eAKyLbIErkSsAeDsaESaoX7++HnjgAU2dOtUxb+zYsbr11ls1fPhwPfLIIypevLh+/fVXrVixQm+88YZq1aqlqKgoDRo0SNOnT1fRokX1xBNPyN/f3/EYpWrVqik9PV3/+9//1LVrV33//feaMWOG074rVaqk5ORkrVq1Sg0bNlRAQMA1v83o06ePZsyYoT179mj16tWO+SVKlNCYMWM0evRoZWZmqnXr1kpKStL333+voKAg9evXLx9+aoVP9erV1a1bNz366KN66623VKJECT399NO66aab1K1bN0nSqFGj1KlTJ9WoUUOnTp3S6tWrVbt27Wy3x+8eAKyLbIEbIVcA8Cpm36SiMLjypkGXHThwwPDz8zOu/BX88MMPxp133mkEBgYaxYsXNxo0aGA899xzjuWHDx82OnXqZNjtdqNixYrGggULjLCwMGPGjBmOdV599VWjXLlyhr+/vxEdHW289957TjcWMgzDGDJkiBEaGmpIMiZMmGAYhvONhS779ddfDUlGxYoVjczMTKdlmZmZxpQpU4yaNWsaRYsWNcqUKWNER0cba9eude2HVQhl9/m47OTJk8aDDz5oBAcHO36ne/bscSwfPny4UbVqVcNutxtlypQxHnzwQeOff/4xDCPrTaUMg989AFgF2QLXQq4AUBDYDMMwzGiAwHV//fWXKlSooJUrV+qOO+4wuxwAAFDAkS0AAJ5AI6IA+fbbb5WcnKz69esrMTFRTz31lP7++2/t2bPHca0dAABATpEtAABm4B4RBUh6err+/e9/6/fff1eJEiXUsmVLzZ8/n6AAAADyhGwBADADIyIAAAAAAIDH+JhdAAAAAAAAKDxoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAJurfv7+6d+/ueN2uXTuNGjXK43WsWbNGNptNp0+fzrd9XH2seeGJOgEAKMjIFrlDtgDMQSMCuEr//v1ls9lks9nk5+enatWqadKkSbp48WK+7/vTTz/Vs88+m6N1PX3irFSpkqZMmeKRfQEAYCVki+yRLYDCq4jZBQDeqGPHjpo9e7ZSU1P11VdfadiwYSpatKhiY2OzrJuWliY/Pz+37DckJMQt2wEAAN6FbAEA/4cREUA27Ha7wsPDVbFiRQ0dOlRRUVH6/PPPJf3fMMDnnntOERERqlmzpiTpzz//VO/evVWyZEmFhISoW7duOnjwoGObGRkZiomJUcmSJRUaGqqnnnpKhmE47ffq4ZOpqakaO3asKlSoILvdrmrVqmnWrFk6ePCg2rdvL0kqVaqUbDab+vfvL0nKzMxUfHy8KleuLH9/fzVs2FAff/yx036++uor1ahRQ/7+/mrfvr1TnXmRkZGhgQMHOvZZs2ZNvf7669muO3HiRJUpU0ZBQUEaMmSI0tLSHMtyUjsAAAUR2SJ3yBaAtTEiAsgBf39/nThxwvF61apVCgoK0ooVKyRJ6enpio6OVosWLfTdd9+pSJEimjx5sjp27Khdu3bJz89Pr7zyiubMmaN3331XtWvX1iuvvKLFixfr9ttvv+Z+H3roIW3cuFFTp05Vw4YNdeDAAf3zzz+qUKGCPvnkE/Xq1UsJCQkKCgqSv7+/JCk+Pl7vv/++ZsyYoerVq2vdunXq27evypQpo7Zt2+rPP/9Uz549NWzYMA0aNEhbt27VE0884dLPJzMzU+XLl9dHH32k0NBQbdiwQYMGDVK5cuXUu3dvp59bsWLFtGbNGh08eFADBgxQaGionnvuuRzVDgCAVZAtro9sAVicAcBJv379jG7duhmGYRiZmZnGihUrDLvdbowZM8axvGzZskZqaqrjPfPmzTNq1qxpZGZmOualpqYa/v7+xvLlyw3DMIxy5coZL730kmN5enq6Ub58ece+DMMw2rZtazz++OOGYRhGQkKCIclYsWJFtnWuXr3akGScOnXKMe/ChQtGQECAsWHDBqd1Bw4caNx///2GYRhGbGysUadOHaflY8eOzbKtq1WsWNF47bXXrrn8asOGDTN69erleN2vXz8jJCTEOHfunGPe9OnTjcDAQCMjIyNHtWd3zAAAeDuyRfbIFkDhxYgIIBtLly5VYGCg0tPTlZmZqT59+iguLs6xvH79+k7Xbv7444/at2+fSpQo4bSdCxcuaP/+/UpKSlJiYqKaN2/uWFakSBE1bdo0yxDKy3bu3ClfX99cdev37dunlJQU3XnnnU7z09LS1LhxY0nS7t27neqQpBYtWuR4H9cybdo0vfvuuzp06JDOnz+vtLQ0NWrUyGmdhg0bKiAgwGm/ycnJ+vPPP5WcnHzD2gEAKKjIFrlHtgCsi0YEkI327dtr+vTp8vPzU0REhIoUcf5PpXjx4k6vk5OT1aRJE82fPz/LtsqUKZOnGi4Ph8yN5ORkSdKXX36pm266yWmZ3W7PUx058eGHH2rMmDF65ZVX1KJFC5UoUUIvv/yyNm/enONtmFU7AACeQLbIHbIFYG00IoBsFC9eXNWqVcvx+jfffLMWLlyosLAwBQUFZbtOuXLltHnzZrVp00aSdPHiRW3btk0333xztuvXr19fmZmZWrt2raKiorIsv/ytSUZGhmNenTp1ZLfbdejQoWt+21G7dm3HzbEu27Rp040P8jq+//57tWzZUo899phj3v79+7Os9+OPP+r8+fOOILRp0yYFBgaqQoUKCgkJuWHtAAAUVGSL3CFbANbGUzMAN3jggQdUunRpdevWTd99950OHDigNWvWaOTIkfrrr78kSY8//rheeOEFLVmyRL/99psee+yx6z6nu1KlSurXr58efvhhLVmyxLHNRYsWSZIqVqwom82mpUuX6vjx40pOTlaJEiU0ZswYjR49WnPnztX+/fu1fft2/e9//9PcuXMlSUOGDNHevXv15JNPKiEhQQsWLNCcOXNydJx///23du7c6TSdOnVK1atX19atW7V8+XLt2bNH48aN05YtW7K8Py0tTQMHDtSvv/6qr776ShMmTNDw4cPl4+OTo9oBACgsyBZkC8DSzL5JBeBtrryhVG6WJyYmGg899JBRunRpw263G1WqVDEeffRRIykpyTCMSzeQevzxx42goCCjZMmSRkxMjPHQQw9d84ZShmEY58+fN0aPHm2UK1fO8PPzM6pVq2a8++67juWTJk0ywsPDDZvNZvTr188wjEs3wZoyZYpRs2ZNo2jRokaZMmWM6OhoY+3atY73ffHFF0a1atUMu91u3Hbbbca7776boxtKScoyzZs3z7hw4YLRv39/Izg42ChZsqQxdOhQ4+mnnzYaNmyY5ec2fvx4IzQ01AgMDDQeffRR48KFC451blQ7N5QCABREZIvskS2AwstmGNe4mw0AAAAAAICbcWkGAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA85v8BjpDhGgQ34YUAAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    1        | 0.972973 |   0.986301 |  37        |\n',
      '| 2            |    0.972222 | 1        |   0.985915 |  35        |\n',
      '| accuracy     |    0.990476 | 0.990476 |   0.990476 |   0.990476 |\n',
      '| macro avg    |    0.990741 | 0.990991 |   0.990739 | 105        |\n',
      '| weighted avg |    0.990741 | 0.990476 |   0.990478 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['Logistic regression tuned'] = lr_score2"],
   'metadata': {'id': 'TsqnpQW4Vnxx'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['##### Which hyperparameter optimization technique have i used and why?'],
   'metadata': {'id': 'mwnxeO7jwA-X'}},
  {'cell_type': 'markdown',
   'source': ['The hyperparameter optimization technique used is GridSearchCV. GridSearchCV is a method that performs an exhaustive search over a specified parameter grid to find the best hyperparameters for a model. It is a popular method for hyperparameter tuning because it is simple to implement and can be effective in finding good hyperparameters for a model.\n',
    '\n',
    'The choice of hyperparameter optimization technique depends on various factors such as the size of the parameter space, the computational resources available, and the time constraints. GridSearchCV can be a good choice when the parameter space is relatively small and computational resources are not a major concern.'],
   'metadata': {'id': 'qJdahr6QwA-X'}},
  {'cell_type': 'markdown',
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.'],
   'metadata': {'id': 'huCCA590wA-X'}},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'haB7fCvRWIdx',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 300},
    'outputId': '5405cc19-4a06-4151-8ddf-a7364fe8a268'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned\n',
       'Precision Train             0.980952                   0.990741\n',
       'Precision Test              0.979167                   0.979167\n',
       'Recall Train                0.980952                   0.990476\n',
       'Recall Test                 0.977778                   0.977778\n',
       'Accuracy Train              0.980952                   0.990476\n',
       'Accuracy Test               0.977778                   0.977778\n',
       'F1 macro Train              0.980952                   0.990478\n',
       'F1 macro Test               0.977692                   0.977692'],
      'text/html': ['\n',
       '  <div id="df-74c6927e-eb2b-41b8-83f9-0a6613bd55b3" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-74c6927e-eb2b-41b8-83f9-0a6613bd55b3\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-74c6927e-eb2b-41b8-83f9-0a6613bd55b3 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-74c6927e-eb2b-41b8-83f9-0a6613bd55b3');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-1cbdfcd6-f49c-45ce-99a0-4a8f03c5e1b8">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-1cbdfcd6-f49c-45ce-99a0-4a8f03c5e1b8\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-1cbdfcd6-f49c-45ce-99a0-4a8f03c5e1b8 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 121}]},
  {'cell_type': 'markdown',
   'source': ['It appears that hyperparameter tuning did not improve the performance of the Logistic Regression model on the test set. The precision, recall, accuracy and F1 scores on the test set are same for both tuned and untuned Logistic Regression models.'],
   'metadata': {'id': 'SmvtmJuQwA-Y'}},
  {'cell_type': 'markdown',
   'source': ['### ML Model - 2 : Decision Tree'],
   'metadata': {'id': 'VzKNBLqiwA-Y'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 2 Implementation\n',
    'dt_model = DecisionTreeClassifier(random_state=20)\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model'],
   'metadata': {'id': 'EOs5hr_k8M5L'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."],
   'metadata': {'id': '1GL-36pywA-Y'}},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'dt_score = evaluate_model(dt_model, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'fz_4QHj2wA-Y',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '6ee6eea3-1527-4200-a730-9bf4fc0842bf'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABr4UlEQVR4nO3deVwV9f7H8fcB5AgiCLggue/7kpq55HIjUcvculZqoVkuuaRkGd1MNIv2zDK9aaWZlm1aaWlqLplLrmmLu2YlLrmgiALC/P7o57keQQXO4cxheD0fj3lcz8ycmc/AiXnfz/nOjM0wDEMAAAAAAAAe4GN2AQAAAAAAoPCgEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAcvq16+fKlWqZHYZbnX06FHdddddCg8Pl81m06RJk9y+D5vNpvj4eLdvt6Cy4ucIAFC4kSc8jzwBOKMRAY+z2Ww5mlauXGl2qdk6evSoRo8erVq1aikwMFDFihVTkyZNNHHiRJ0+fTpf9z1q1CgtWbJEcXFxmj17tjp27Jiv+/Ok+Ph42Ww2+fj46I8//siy/MyZMwoICJDNZtOwYcNyvf2UlBTFx8d77ecKAOA+nswaeT2/kCfyB3kCKBj8zC4Ahc/s2bOdXr///vtaunRplvm1a9d2aT/Tp09XZmamS9u40saNG9W5c2clJyerb9++atKkiSRp06ZNev7557V69Wp9++23bt3n5b777jt17dpVo0ePzrd9nD9/Xn5+5v1psNvt+vDDD/X44487zf/8889d2m5KSorGjx8vSWrXrl2O35cfnyMAQP7yVNaQ8nZ+IU/kP/IE4N1oRMDj+vbt6/R6/fr1Wrp0aZb5V0pJSVFgYGCO91OkSJE81Xc1p0+fVvfu3eXr66utW7eqVq1aTsufffZZTZ8+3a37vNKxY8dUokSJfN1H0aJF83X719O5c+dsg8PcuXN1++2367PPPvNIHefOnVOxYsXc/jkCAOS/vGYNTyBPeAZ5AvBuXJoBr9SuXTvVq1dPmzdvVps2bRQYGKgnn3xSkvTFF1/o9ttvV2RkpOx2u6pWrapnnnlGGRkZTtu48lq8gwcPymaz6eWXX9bbb7+tqlWrym63q1mzZtq4ceN1a/rvf/+rv/76S6+++mqW0CBJZcqU0VNPPeU076233lLdunVlt9sVGRmpoUOHZhlueelYf/31V7Vv316BgYG64YYb9OKLLzrWmTlzpmw2mwzD0JQpUxxDSqX/DUG80qX3HDx40DFv06ZNio6OVsmSJRUQEKDKlSvrgQcecHpfdtd0bt26VZ06dVJwcLCCgoJ06623av369dnu74cfflBsbKxKlSqlYsWKqXv37jp+/PhVf65X6t27t7Zt26adO3c65h05ckTfffedevfunWX9tLQ0Pf3002rSpIlCQkJUrFgx3XLLLVqxYoVjnYMHD6pUqVKSpPHjxzt+fpeOs1+/fgoKCtK+ffvUuXNnFS9eXH369HEsu/xzNG7cOPn4+Gj58uVOdQwcOFD+/v766aefcnysAADzZGZmatKkSapbt66KFi2qMmXKaNCgQTp16pTTetc6d17v/JId8gR5QiJPAIyIgNc6ceKEOnXqpHvuuUd9+/ZVmTJlJP1zggoKClJsbKyCgoL03Xff6emnn9aZM2f00ksvXXe7c+fO1dmzZzVo0CDZbDa9+OKL6tGjh/bv33/NbvWXX36pgIAA3XXXXTmqPz4+XuPHj1dUVJSGDBmiXbt2aerUqdq4caN++OEHp32dOnVKHTt2VI8ePdSrVy99+umnGjNmjOrXr69OnTqpTZs2mj17tu677z7ddtttuv/++3NUw+WOHTumDh06qFSpUnriiSdUokQJHTx48LpDFH/55RfdcsstCg4O1uOPP64iRYrov//9r9q1a6dVq1apefPmTusPHz5coaGhGjdunA4ePKhJkyZp2LBhmjdvXo7qbNOmjcqVK6e5c+dqwoQJkqR58+YpKChIt99+e5b1z5w5oxkzZujee+/VQw89pLNnz+qdd95RdHS0fvzxRzVq1EilSpXS1KlTNWTIEHXv3l09evSQJDVo0MCxnYsXLyo6OlqtW7fWyy+/fNXRN0899ZS++uorDRgwQDt27FDx4sW1ZMkSTZ8+Xc8884waNmyYo+MEAJhr0KBBmjlzpvr3768RI0bowIEDevPNN7V161bHefp6586cnF+uRJ4gT0jkCUAGYLKhQ4caV34U27Zta0gypk2blmX9lJSULPMGDRpkBAYGGhcuXHDMi4mJMSpWrOh4feDAAUOSER4ebpw8edIx/4svvjAkGV999dU16wwNDTUaNmyYo2M6duyY4e/vb3To0MHIyMhwzH/zzTcNSca7777rmHfpWN9//33HvNTUVCMiIsLo2bOn03YlGUOHDnWaN27cuCw/P8MwjPfee8+QZBw4cMAwDMOYP3++IcnYuHHjNWuXZIwbN87xulu3boa/v7+xb98+x7zDhw8bxYsXN9q0aZNlf1FRUUZmZqZj/qhRowxfX1/j9OnT19zvpeM4fvy4MXr0aKNatWqOZc2aNTP69++f7c/g4sWLRmpqqtO2Tp06ZZQpU8Z44IEHHPOOHz+e5dguiYmJMSQZTzzxRLbLLv8cGYZh7Nixw/D39zcefPBB49SpU8YNN9xgNG3a1EhPT7/mMQIAzHFl1vj+++8NScacOXOc1lu8eLHT/JycO691fskOeYI8cQl5AoUZl2bAa9ntdvXv3z/L/ICAAMe/z549q7///lu33HKLUlJSnIbfXc3dd9+t0NBQx+tbbrlFkrR///5rvu/MmTMqXrx4jmpftmyZ0tLSNHLkSPn4/O8/s4ceekjBwcFatGiR0/pBQUFO1636+/vrpptuum5NuXHpWtCFCxcqPT09R+/JyMjQt99+q27duqlKlSqO+WXLllXv3r21Zs0anTlzxuk9AwcOdBraecsttygjI0O///57jmvt3bu39u7dq40bNzr+N7thlJLk6+srf39/Sf8Msz158qQuXryopk2basuWLTnepyQNGTIkR+vVq1dP48eP14wZMxQdHa2///5bs2bNMvWmXACAnPvkk08UEhKi2267TX///bdjatKkiYKCghzD8fNy7rwe8gR54hLyBAozGhHwWjfccIPjhHC5X375Rd27d1dISIiCg4NVqlQpx0k3KSnpututUKGC0+tLTYkrrwm9UnBwsM6ePZuj2i+dJGvWrOk039/fX1WqVMlyEi1XrlyW6zJDQ0OvW1NutG3bVj179tT48eNVsmRJde3aVe+9955SU1Ov+p7jx48rJSUly3FI/9xpPDMzM8ujsfL6871c48aNVatWLc2dO1dz5sxRRESE/vWvf111/VmzZqlBgwYqWrSowsPDVapUKS1atChHn4dL/Pz8VK5cuRyv/9hjj6lhw4b68ccfNW7cONWpUyfH7wUAmGvPnj1KSkpS6dKlVapUKacpOTlZx44dk5S3c+f1kCeckSfIEyicaLfBa10+8uGS06dPq23btgoO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dFlHTEyM4uPj9eWXX0qSGjVq5PS+FStWqF27djnaBzerBADAzWw216acSkhIULNmzVS8eHGVLl1a3bp1065du5zWadeunWw2m9M0ePBgNx8xAADIT57IFZe0a9dOhmFkmWbOnKlKlSplu8wwjBw3ISQaEQAAFFirVq3S0KFDtX79ei1dulTp6enq0KGDzp0757TeQw89pMTERMf04osvmlQxAAAAl2YAAOB2nrqOc/HixU6vZ86cqdKlS2vz5s1q06aNY35gYKAiIiI8UhMAAHA/q91/ihERAAC4mauXZqSmpurMmTNOU2pq6nX3m5SUJOmfm0Vdbs6cOSpZsqTq1aunuLg4paSk5MtxAwCA/OHJSzM8gUYEAADu5mInIiEhQSEhIU5TQkLCNXeZmZmpkSNHqlWrVqpXr55jfu/evfXBBx9oxYoViouL0+zZs9W3b9/8/gkAAAB3slgngkszAABwM1fP+XFxcY47VF9yved/Dx06VD///LPWrFnjNH/gwIGOf9evX19ly5bVrbfeqn379qlq1aquFQoAADzCS/sJeUYjAgAAN3P1Ok673X7dxsPlhg0bpoULF2r16tUqV67cNddt3ry5JGnv3r00IgAAKCCsdo8ISzYiYlYdMbsEeIn4G8uaXQK8SPyWRLNLANzKMAwNHz5c8+fP18qVK1W5cuXrvmfbtm2SpLJl+fuYG/z9wCWHYq7d7EPhUeHtX80uAd4ksKTZFRQolmxEAABgJk99azF06FDNnTtXX3zxhYoXL64jR/5pxIeEhCggIED79u3T3Llz1blzZ4WHh2v79u0aNWqU2rRpowYNGnikRgAA4DpGRAAAgGvyVFaYOnWqJKldu3ZO89977z3169dP/v7+WrZsmSZNmqRz586pfPny6tmzp5566inPFAgAANzCYn0IGhEAALidh9KCYRjXXF6+fHmtWrXKI7UAAIB8ZLFOBI0IAADczGJZAQAAmMxq2YJGBAAAbma16zgBAIC5rJYtfMwuAAAAAAAAFB6MiAAAwM0s9qUFAAAwmdWyBY0IAADczWppAQAAmMti2YJGBAAAbma16zgBAIC5rJYtaEQAAOBmFssKAADAZFbLFjQiAABwM6t9awEAAMxltWxBIwIAAHezVlYAAABms1i24PGdAAAAAADAYxgRAQCAm9l86PMDAAD3sVq2oBEBAIC7Wew6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w4YN9emnnzrt5+uvv1aNGjUUEBCg9u3bO9WZFxkZGRowYIBjnzVr1tTrr7+e7brjx49XqVKlFBwcrMGDBystLc2xLCe1AwBQEJEtcodsAVgbIyKAHAgICNCJEyccr5cvX67g4GAtXbpUkpSenq7o6Gi1aNFC33//vfz8/DRx4kR17NhR27dvl7+/v1555RXNnDlT7777rmrXrq1XXnlF8+fP17/+9a+r7vf+++/XunXrNHnyZDVs2FAHDhzQ33//rfLly+uzzz5Tz549tWvXLgUHBysgIECSlJCQoA8++EDTpk1T9erVtXr1avXt21elSpVS27Zt9ccff6hHjx4aOnSoBg4cqE2bNunRRx916eeTmZmpcuXK6ZNPPlF4eLjWrl2rgQMHqmzZsurVq5fTz61o0aJauXKlDh48qP79+ys8PFzPPvtsjmoHAMAqyBbXRrYALM4A4CQmJsbo2rWrYRiGkZmZaSxdutSw2+3G6NGjHcvLlCljpKamOt4ze/Zso2bNmkZmZqZjXmpqqhEQEGAsWbLEMAzDKFu2rPHiiy86lqenpxvlypVz7MswDKNt27bGI488YhiGYezatcuQZCxdujTbOlesWGFIMk6dOuWYd+HCBSMwMNBYu3at07oDBgww7r33XsMwDCMuLs6oU6eO0/IxY8Zk2daVKlasaLz22mtXXX6loUOHGj179nS8jomJMcLCwoxz58455k2dOtUICgoyMjIyclR7dscMAIC3I1tkj2wBFF6MiACysXDhQgUFBSk9PV2ZmZnq3bu34uPjHcvr16/vdO3mTz/9pL1796p48eJO27lw4YL27dunpKQkJSYmqnnz5o5lfn5+atq0aZYhlJds27ZNvr6+uerW7927VykpKbrtttuc5qelpalx48aSpN9++82pDklq0aJFjvdxNVOmTNG7776rQ4cO6fz580pLS1OjRo2c1mnYsKECAwOd9pucnKw//vhDycnJ160dAICCimyRe2QLwLpoRADZaN++vaZOnSp/f39FRkbKz8/5P5VixYo5vU5OTlaTJk00Z86cLNsqVapUnmq4NBwyN5KTkyVJixYt0g033OC0zG6356mOnPjoo480evRovfLKK2rRooWKFy+ul156SRs2bMjxNsyqHQAATyBb5A7ZArA2GhFANooVK6Zq1arleP0bb7xR8+bNU+nSpRUcHJztOmXLltWGDRvUpk0bSdLFixe1efNm3XjjjdmuX79+fWVmZmrVqlWKiorKsvzStyYZGRmOeXXq1JHdbtehQ4eu+m1H7dq1HTfHumT9+vXXP8hr+OGHH9SyZUs9/PDDjnn79u3Lst5PP/2k8+fPO4LQ+vXrFRQUpPLlyyssLOy6tQMAUFCRLXKHbAFYG0/NANygT58+KlmypLp27arvv/9eBw4c0MqVKzVixAj9+eefkqRHHnlEzz//vBYsWKCdO3fq4YcfvuZzuitVqqSYmBg98MADWrBggWObH3/8sSSpYsWKstlsWrhwoY4fP67k5GQVL15co0eP1qhRozRr1izt27dPW7Zs0RtvvKFZs2ZJkgYPHqw9e/boscce065duzR37lzNnDkzR8f5119/adu2bU7TqVOnVL16dW3atElLlizR7t27NXbsWG3cuDHL+9PS0jRgwAD9+uuv+vrrrzVu3DgNGzZMPj4+OaodAIDCgmxBtgAszeybVADe5vIbSuVmeWJionH//fcbJUuWNOx2u1GlShXjoYceMpKSkgzD+OcGUo888ogRHBxslChRwoiNjTXuv//+q95QyjAM4/z588aoUaOMsmXLGv7+/ka1atWMd99917F8woQJRkREhGGz2YyYmBjDMP65CdakSZOMmjVrGkWKFDFKlSplREdHG6tWrXK876uvvjKqVatm2O1245ZbbjHefffdHN1QSlKWafbs2caFCxeMfv36GSEhIUaJEiWMIUOGGE888YTRsGHDLD+3p59+2ggPDzeCgoKMhx56yLhw4YJjnevVzg2lAAAFEdkie2QLoPCyGcZV7mYDAAAAAADgZlyaAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj/k/DdGrVbvUVZcAAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |           1 |        1 |          1 |        33 |\n',
      '| 1            |           1 |        1 |          1 |        37 |\n',
      '| 2            |           1 |        1 |          1 |        35 |\n',
      '| accuracy     |           1 |        1 |          1 |         1 |\n',
      '| macro avg    |           1 |        1 |          1 |       105 |\n',
      '| weighted avg |           1 |        1 |          1 |       105 |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['Decision Tree'] = dt_score\n",
    'score'],
   'metadata': {'id': 'tlG_TPuZB9vc',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '21d62567-e74e-44ed-a0d8-385771dfb37f'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  Decision Tree\n',
       'Precision Train             0.980952                   0.990741       1.000000\n',
       'Precision Test              0.979167                   0.979167       0.979167\n',
       'Recall Train                0.980952                   0.990476       1.000000\n',
       'Recall Test                 0.977778                   0.977778       0.977778\n',
       'Accuracy Train              0.980952                   0.990476       1.000000\n',
       'Accuracy Test               0.977778                   0.977778       0.977778\n',
       'F1 macro Train              0.980952                   0.990478       1.000000\n',
       'F1 macro Test               0.977692                   0.977692       0.977692'],
      'text/html': ['\n',
       '  <div id="df-4169b308-a23b-45df-880a-bff42452e2c0" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-4169b308-a23b-45df-880a-bff42452e2c0\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-4169b308-a23b-45df-880a-bff42452e2c0 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-4169b308-a23b-45df-880a-bff42452e2c0');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-e9038203-bdd9-4d1f-b85e-756de027ff73">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-e9038203-bdd9-4d1f-b85e-756de027ff73\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-e9038203-bdd9-4d1f-b85e-756de027ff73 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 124}]},
  {'cell_type': 'markdown',
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning'],
   'metadata': {'id': 'nWFgbYYVwA-Z'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 2 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "grid = {'max_depth' : [3,4,5,6,7,8],\n",
    "        'min_samples_split' : np.arange(2,8),\n",
    "        'min_samples_leaf' : np.arange(10,20)}\n",
    '\n',
    '# Initialize the model\n',
    'model = DecisionTreeClassifier()\n',
    '\n',
    '# repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=3, random_state=0)\n',
    '\n',
    '# Initialize GridSearchCV\n',
    'grid_search = GridSearchCV(model, grid, cv=rskf)\n',
    '\n',
    '# Fit the GridSearchCV to the training data\n',
    'grid_search.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = grid_search.best_params_\n',
    'print("Best hyperparameters: ", best_params)'],
   'metadata': {'id': 'FPAxyd04wA-Z',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '481fec13-aec1-40f8-fe87-946a56106711'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'max_depth': 3, 'min_samples_leaf': 10, 'min_samples_split': 5}\n"]}]},
  {'cell_type': 'code',
   'source': ['# Train a new model with the best hyperparameters\n',
    "dt_model2 = DecisionTreeClassifier(max_depth=best_params['max_depth'],\n",
    "                                 min_samples_leaf=best_params['min_samples_leaf'],\n",
    "                                 min_samples_split=best_params['min_samples_split'],\n",
    '                                 random_state=20)'],
   'metadata': {'id': 'lFPV0F66Doc_'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'dt2_score = evaluate_model(dt_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'M4htWLUADvI8',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': '6e08bf2b-f9d9-4710-db6b-68ccb912715a'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': '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4/X888+7dEw/Pz9FRkZeM5DytweAgolsgSshVwDwdjQiPCQ6OlqRkZFKSEi44j7r1q3TzTffrICAAJUrV04jRozQ2bNnHdsPHTqkTp06KSAgQBUrVtT8+fOzDH976aWXVLduXQUFBalcuXJ68MEHlZycLOnfIXUDBgxQUlKSo1MeHx8vyXkYXe/evdWrVy+n2tLT01WiRAm98847kqTMzEwlJCSoYsWKCggIUP369fXxxx+74TdVONntdkVGRqpChQoaOnSooqOj9fnnn+vUqVO69957FRYWpsDAQHXo0EG7d+92vO6PP/5Q586dFRYWpqCgINWuXVtffPGFJOchlPztAcB6yBa4EnIFAG9HI8JDfH19NWnSJL366qv666+/smzfu3ev2rdvrx49eujHH3/UggULtG7dOqdnt9577706ePCgVq9erU8++URvvvmmjh496nQcHx8fTZ06Vb/88ovmzp2rb775Ro899pikf4fUTZkyRSEhITp06JAOHTqk0aNHZ6mlT58+Wrx4sSNkSNLy5cuVkpKibt26SZISEhL0zjvvaMaMGfrll180atQo9e3bV2vWrHHL76uwCwgIUFpamvr3768tW7bo888/14YNG2QYhjp27Kj09HRJ0rBhw5Samqq1a9fqp59+0uTJkxUcHJzlePztAcB6yBbIKXIFAK9jIN/169fP6NKli2EYhnHTTTcZ9913n2EYhrFw4ULj4p9g4MCBxqBBg5xe9+233xo+Pj7GuXPnjN9++82QZGzevNmxfffu3YYk4+WXX77iuT/66CMjIiLC8fPbb79thIaGZtmvQoUKjuOkp6cbJUqUMN555x3H9rvvvtvo1auXYRiGcf78eSMwMNBYv3690zEGDhxo3H333Vf/ZSCLS98fmZmZxooVKwy73W507drVkGR89913jn2PHz9uBAQEGB9++KFhGIZRt25dIz4+Ptvjrlq1ypBknDp1yjAM/vYAYCVkC1wJuQJAQVDErAZIYTV58mTdcsstWbrGP/zwg3788UfNmzfPsc4wDGVmZioxMVG7du1SkSJFdMMNNzi2V6lSRWFhYU7H+frrr5WQkKDff/9dZ86c0YULF3T+/HmlpKTk+H69IkWKqGfPnpo3b57uuecenT17Vp999pk++OADSdKePXuUkpKi2267zel1aWlpatiwYa5+H/jXkiVLFBwc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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.970588 | 0.891892 |   0.929577 |  37        |\n',
      '| 2            |    0.894737 | 0.971429 |   0.931507 |  35        |\n',
      '| accuracy     |    0.952381 | 0.952381 |   0.952381 |   0.952381 |\n',
      '| macro avg    |    0.955108 | 0.95444  |   0.953695 | 105        |\n',
      '| weighted avg |    0.954548 | 0.952381 |   0.952353 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.846154 |   0.916667 | 13        |\n',
      '| 2            |    0.882353 | 1        |   0.9375   | 15        |\n',
      '| accuracy     |    0.955556 | 0.955556 |   0.955556 |  0.955556 |\n',
      '| macro avg    |    0.960784 | 0.948718 |   0.951389 | 45        |\n',
      '| weighted avg |    0.960784 | 0.955556 |   0.955093 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['Decision Tree tuned'] = dt2_score"],
   'metadata': {'id': 'MPa2P97oEFVh'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['##### Which hyperparameter optimization technique have i used and why?'],
   'metadata': {'id': '841njF38wA-Z'}},
  {'cell_type': 'markdown',
   'source': ['The hyperparameter optimization technique used is GridSearchCV. GridSearchCV is a method that performs an exhaustive search over a specified parameter grid to find the best hyperparameters for a model. It is a popular method for hyperparameter tuning because it is simple to implement and can be effective in finding good hyperparameters for a model.\n',
    '\n',
    'The choice of hyperparameter optimization technique depends on various factors such as the size of the parameter space, the computational resources available, and the time constraints. GridSearchCV can be a good choice when the parameter space is relatively small and computational resources are not a major concern.'],
   'metadata': {'id': '3Z1OoVu4wA-Z'}},
  {'cell_type': 'markdown',
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.'],
   'metadata': {'id': 'AkBX0MHbwA-a'}},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'VknJyN6FEdc6',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 300},
    'outputId': '19629310-6899-4755-f81e-2c8b7de46fcd'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  \n',
       'Precision Train       1.000000             0.954548  \n',
       'Precision Test        0.979167             0.960784  \n',
       'Recall Train          1.000000             0.952381  \n',
       'Recall Test           0.977778             0.955556  \n',
       'Accuracy Train        1.000000             0.952381  \n',
       'Accuracy Test         0.977778             0.955556  \n',
       'F1 macro Train        1.000000             0.952353  \n',
       'F1 macro Test         0.977692             0.955093  '],
      'text/html': ['\n',
       '  <div id="df-83ec9f32-7197-4793-9684-0e4e0be7be1a" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-83ec9f32-7197-4793-9684-0e4e0be7be1a\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-83ec9f32-7197-4793-9684-0e4e0be7be1a button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-83ec9f32-7197-4793-9684-0e4e0be7be1a');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-13114c2b-e1e8-4306-ad8e-a1a96cba8d50">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-13114c2b-e1e8-4306-ad8e-a1a96cba8d50\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-13114c2b-e1e8-4306-ad8e-a1a96cba8d50 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 129}]},
  {'cell_type': 'markdown',
   'source': ["It appears that hyperparameter tuning didn't improved the performance of the Decision Tree model on the test set. The precision, recall, accuracy and F1 scores on the test set are less for the tuned Decision Tree model compare to the untuned Decision Tree model.\n",
    '\n',
    'The tuned model is not overfitting like the untuned model.'],
   'metadata': {'id': 'XzZDDTLWwA-a'}},
  {'cell_type': 'markdown',
   'source': ['### ML Model - 3 : Random Forest'],
   'metadata': {'id': 'Bgen1cFIwA-a'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 3 Implementation\n',
    'rf_model = RandomForestClassifier(random_state=0)\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model'],
   'metadata': {'id': '6ihFy_gjwA-a'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."],
   'metadata': {'id': 'JPT_4dYWwA-a'}},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'rf_score = evaluate_model(rf_model, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'o5z7_5MxwA-a',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '67f25f22-733b-4119-db36-9f96bb445f0f'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABr4UlEQVR4nO3deVwV9f7H8fcB5AgiCLggue/7kpq55HIjUcvculZqoVkuuaRkGd1MNIv2zDK9aaWZlm1aaWlqLplLrmmLu2YlLrmgiALC/P7o57keQQXO4cxheD0fj3lcz8ycmc/AiXnfz/nOjM0wDEMAAAAAAAAe4GN2AQAAAAAAoPCgEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAcvq16+fKlWqZHYZbnX06FHdddddCg8Pl81m06RJk9y+D5vNpvj4eLdvt6Cy4ucIAFC4kSc8jzwBOKMRAY+z2Ww5mlauXGl2qdk6evSoRo8erVq1aikwMFDFihVTkyZNNHHiRJ0+fTpf9z1q1CgtWbJEcXFxmj17tjp27Jiv+/Ok+Ph42Ww2+fj46I8//siy/MyZMwoICJDNZtOwYcNyvf2UlBTFx8d77ecKAOA+nswaeT2/kCfyB3kCKBj8zC4Ahc/s2bOdXr///vtaunRplvm1a9d2aT/Tp09XZmamS9u40saNG9W5c2clJyerb9++atKkiSRp06ZNev7557V69Wp9++23bt3n5b777jt17dpVo0ePzrd9nD9/Xn5+5v1psNvt+vDDD/X44487zf/8889d2m5KSorGjx8vSWrXrl2O35cfnyMAQP7yVNaQ8nZ+IU/kP/IE4N1oRMDj+vbt6/R6/fr1Wrp0aZb5V0pJSVFgYGCO91OkSJE81Xc1p0+fVvfu3eXr66utW7eqVq1aTsufffZZTZ8+3a37vNKxY8dUokSJfN1H0aJF83X719O5c+dsg8PcuXN1++2367PPPvNIHefOnVOxYsXc/jkCAOS/vGYNTyBPeAZ5AvBuXJoBr9SuXTvVq1dPmzdvVps2bRQYGKgnn3xSkvTFF1/o9ttvV2RkpOx2u6pWrapnnnlGGRkZTtu48lq8gwcPymaz6eWXX9bbb7+tqlWrym63q1mzZtq4ceN1a/rvf/+rv/76S6+++mqW0CBJZcqU0VNPPeU076233lLdunVlt9sVGRmpoUOHZhlueelYf/31V7Vv316BgYG64YYb9OKLLzrWmTlzpmw2mwzD0JQpUxxDSqX/DUG80qX3HDx40DFv06ZNio6OVsmSJRUQEKDKlSvrgQcecHpfdtd0bt26VZ06dVJwcLCCgoJ06623av369dnu74cfflBsbKxKlSqlYsWKqXv37jp+/PhVf65X6t27t7Zt26adO3c65h05ckTfffedevfunWX9tLQ0Pf3002rSpIlCQkJUrFgx3XLLLVqxYoVjnYMHD6pUqVKSpPHjxzt+fpeOs1+/fgoKCtK+ffvUuXNnFS9eXH369HEsu/xzNG7cOPn4+Gj58uVOdQwcOFD+/v766aefcnysAADzZGZmatKkSapbt66KFi2qMmXKaNCgQTp16pTTetc6d17v/JId8gR5QiJPAIyIgNc6ceKEOnXqpHvuuUd9+/ZVmTJlJP1zggoKClJsbKyCgoL03Xff6emnn9aZM2f00ksvXXe7c+fO1dmzZzVo0CDZbDa9+OKL6tGjh/bv33/NbvWXX36pgIAA3XXXXTmqPz4+XuPHj1dUVJSGDBmiXbt2aerUqdq4caN++OEHp32dOnVKHTt2VI8ePdSrVy99+umnGjNmjOrXr69OnTqpTZs2mj17tu677z7ddtttuv/++3NUw+WOHTumDh06qFSpUnriiSdUokQJHTx48LpDFH/55RfdcsstCg4O1uOPP64iRYrov//9r9q1a6dVq1apefPmTusPHz5coaGhGjdunA4ePKhJkyZp2LBhmjdvXo7qbNOmjcqVK6e5c+dqwoQJkqR58+YpKChIt99+e5b1z5w5oxkzZujee+/VQw89pLNnz+qdd95RdHS0fvzxRzVq1EilSpXS1KlTNWTIEHXv3l09evSQJDVo0MCxnYsXLyo6OlqtW7fWyy+/fNXRN0899ZS++uorDRgwQDt27FDx4sW1ZMkSTZ8+Xc8884waNmyYo+MEAJhr0KBBmjlzpvr3768RI0bowIEDevPNN7V161bHefp6586cnF+uRJ4gT0jkCUAGYLKhQ4caV34U27Zta0gypk2blmX9lJSULPMGDRpkBAYGGhcuXHDMi4mJMSpWrOh4feDAAUOSER4ebpw8edIx/4svvjAkGV999dU16wwNDTUaNmyYo2M6duyY4e/vb3To0MHIyMhwzH/zzTcNSca7777rmHfpWN9//33HvNTUVCMiIsLo2bOn03YlGUOHDnWaN27cuCw/P8MwjPfee8+QZBw4cMAwDMOYP3++IcnYuHHjNWuXZIwbN87xulu3boa/v7+xb98+x7zDhw8bxYsXN9q0aZNlf1FRUUZmZqZj/qhRowxfX1/j9OnT19zvpeM4fvy4MXr0aKNatWqOZc2aNTP69++f7c/g4sWLRmpqqtO2Tp06ZZQpU8Z44IEHHPOOHz+e5dguiYmJMSQZTzzxRLbLLv8cGYZh7Nixw/D39zcefPBB49SpU8YNN9xgNG3a1EhPT7/mMQIAzHFl1vj+++8NScacOXOc1lu8eLHT/JycO691fskOeYI8cQl5AoUZl2bAa9ntdvXv3z/L/ICAAMe/z549q7///lu33HKLUlJSnIbfXc3dd9+t0NBQx+tbbrlFkrR///5rvu/MmTMqXrx4jmpftmyZ0tLSNHLkSPn4/O8/s4ceekjBwcFatGiR0/pBQUFO1636+/vrpptuum5NuXHpWtCFCxcqPT09R+/JyMjQt99+q27duqlKlSqO+WXLllXv3r21Zs0anTlzxuk9AwcOdBraecsttygjI0O///57jmvt3bu39u7dq40bNzr+N7thlJLk6+srf39/Sf8Msz158qQuXryopk2basuWLTnepyQNGTIkR+vVq1dP48eP14wZMxQdHa2///5bs2bNMvWmXACAnPvkk08UEhKi2267TX///bdjatKkiYKCghzD8fNy7rwe8gR54hLyBAozGhHwWjfccIPjhHC5X375Rd27d1dISIiCg4NVqlQpx0k3KSnpututUKGC0+tLTYkrrwm9UnBwsM6ePZuj2i+dJGvWrOk039/fX1WqVMlyEi1XrlyW6zJDQ0OvW1NutG3bVj179tT48eNVsmRJde3aVe+9955SU1Ov+p7jx48rJSUly3FI/9xpPDMzM8ujsfL6871c48aNVatWLc2dO1dz5sxRRESE/vWvf111/VmzZqlBgwYqWrSowsPDVapUKS1atChHn4dL/Pz8VK5cuRyv/9hjj6lhw4b68ccfNW7cONWpUyfH7wUAmGvPnj1KSkpS6dKlVapUKacpOTlZx44dk5S3c+f1kCeckSfIEyicaLfBa10+8uGS06dPq23btgoO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dFlHTEyM4uPj9eWXX0qSGjVq5PS+FStWqF27djnaBzerBADAzWw216acSkhIULNmzVS8eHGVLl1a3bp1065du5zWadeunWw2m9M0ePBgNx8xAADIT57IFZe0a9dOhmFkmWbOnKlKlSplu8wwjBw3ISQaEQAAFFirVq3S0KFDtX79ei1dulTp6enq0KGDzp0757TeQw89pMTERMf04osvmlQxAAAAl2YAAOB2nrqOc/HixU6vZ86cqdKlS2vz5s1q06aNY35gYKAiIiI8UhMAAHA/q91/ihERAAC4mauXZqSmpurMmTNOU2pq6nX3m5SUJOmfm0Vdbs6cOSpZsqTq1aunuLg4paSk5MtxAwCA/OHJSzM8gUYEAADu5mInIiEhQSEhIU5TQkLCNXeZmZmpkSNHqlWrVqpXr55jfu/evfXBBx9oxYoViouL0+zZs9W3b9/8/gkAAAB3slgngkszAABwM1fP+XFxcY47VF9yved/Dx06VD///LPWrFnjNH/gwIGOf9evX19ly5bVrbfeqn379qlq1aquFQoAADzCS/sJeUYjAgAAN3P1Ok673X7dxsPlhg0bpoULF2r16tUqV67cNddt3ry5JGnv3r00IgAAKCCsdo8ISzYiYlYdMbsEeIn4G8uaXQK8SPyWRLNLANzKMAwNHz5c8+fP18qVK1W5cuXrvmfbtm2SpLJl+fuYG/z9wCWHYq7d7EPhUeHtX80uAd4ksKTZFRQolmxEAABgJk99azF06FDNnTtXX3zxhYoXL64jR/5pxIeEhCggIED79u3T3Llz1blzZ4WHh2v79u0aNWqU2rRpowYNGnikRgAA4DpGRAAAgGvyVFaYOnWqJKldu3ZO89977z3169dP/v7+WrZsmSZNmqRz586pfPny6tmzp5566inPFAgAANzCYn0IGhEAALidh9KCYRjXXF6+fHmtWrXKI7UAAIB8ZLFOBI0IAADczGJZAQAAmMxq2YJGBAAAbma16zgBAIC5rJYtfMwuAAAAAAAAFB6MiAAAwM0s9qUFAAAwmdWyBY0IAADczWppAQAAmMti2YJGBAAAbma16zgBAIC5rJYtaEQAAOBmFssKAADAZFbLFjQiAABwM6t9awEAAMxltWxBIwIAAHezVlYAAABms1i24PGdAAAAAADAYxgRAQCAm9l86PMDAAD3sVq2oBEBAIC7Wew6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w4YN9emnnzrt5+uvv1aNGjUUEBCg9u3bO9WZFxkZGRowYIBjnzVr1tTrr7+e7brjx49XqVKlFBwcrMGDBystLc2xLCe1AwBQEJEtcodsAVgbIyKAHAgICNCJEyccr5cvX67g4GAtXbpUkpSenq7o6Gi1aNFC33//vfz8/DRx4kR17NhR27dvl7+/v1555RXNnDlT7777rmrXrq1XXnlF8+fP17/+9a+r7vf+++/XunXrNHnyZDVs2FAHDhzQ33//rfLly+uzzz5Tz549tWvXLgUHBysgIECSlJCQoA8++EDTpk1T9erVtXr1avXt21elSpVS27Zt9ccff6hHjx4aOnSoBg4cqE2bNunRRx916eeTmZmpcuXK6ZNPPlF4eLjWrl2rgQMHqmzZsurVq5fTz61o0aJauXKlDh48qP79+ys8PFzPPvtsjmoHAMAqyBbXRrYALM4A4CQmJsbo2rWrYRiGkZmZaSxdutSw2+3G6NGjHcvLlCljpKamOt4ze/Zso2bNmkZmZqZjXmpqqhEQEGAsWbLEMAzDKFu2rPHiiy86lqenpxvlypVz7MswDKNt27bGI488YhiGYezatcuQZCxdujTbOlesWGFIMk6dOuWYd+HCBSMwMNBYu3at07oDBgww7r33XsMwDCMuLs6oU6eO0/IxY8Zk2daVKlasaLz22mtXXX6loUOHGj179nS8jomJMcLCwoxz58455k2dOtUICgoyMjIyclR7dscMAIC3I1tkj2wBFF6MiACysXDhQgUFBSk9PV2ZmZnq3bu34uPjHcvr16/vdO3mTz/9pL1796p48eJO27lw4YL27dunpKQkJSYmqnnz5o5lfn5+atq0aZYhlJds27ZNvr6+uerW7927VykpKbrtttuc5qelpalx48aSpN9++82pDklq0aJFjvdxNVOmTNG7776rQ4cO6fz580pLS1OjRo2c1mnYsKECAwOd9pucnKw//vhDycnJ160dAICCimyRe2QLwLpoRADZaN++vaZOnSp/f39FRkbKz8/5P5VixYo5vU5OTlaTJk00Z86cLNsqVapUnmq4NBwyN5KTkyVJixYt0g033OC0zG6356mOnPjoo480evRovfLKK2rRooWKFy+ul156SRs2bMjxNsyqHQAATyBb5A7ZArA2GhFANooVK6Zq1arleP0bb7xR8+bNU+nSpRUcHJztOmXLltWGDRvUpk0bSdLFixe1efNm3XjjjdmuX79+fWVmZmrVqlWKiorKsvzStyYZGRmOeXXq1JHdbtehQ4eu+m1H7dq1HTfHumT9+vXXP8hr+OGHH9SyZUs9/PDDjnn79u3Lst5PP/2k8+fPO4LQ+vXrFRQUpPLlyyssLOy6tQMAUFCRLXKHbAFYG0/NANygT58+KlmypLp27arvv/9eBw4c0MqVKzVixAj9+eefkqRHHnlEzz//vBYsWKCdO3fq4YcfvuZzuitVqqSYmBg98MADWrBggWObH3/8sSSpYsWKstlsWrhwoY4fP67k5GQVL15co0eP1qhRozRr1izt27dPW7Zs0RtvvKFZs2ZJkgYPHqw9e/boscce065duzR37lzNnDkzR8f5119/adu2bU7TqVOnVL16dW3atElLlizR7t27NXbsWG3cuDHL+9PS0jRgwAD9+uuv+vrrrzVu3DgNGzZMPj4+OaodAIDCgmxBtgAszeybVADe5vIbSuVmeWJionH//fcbJUuWNOx2u1GlShXjoYceMpKSkgzD+OcGUo888ogRHBxslChRwoiNjTXuv//+q95QyjAM4/z588aoUaOMsmXLGv7+/ka1atWMd99917F8woQJRkREhGGz2YyYmBjDMP65CdakSZOMmjVrGkWKFDFKlSplREdHG6tWrXK876uvvjKqVatm2O1245ZbbjHefffdHN1QSlKWafbs2caFCxeMfv36GSEhIUaJEiWMIUOGGE888YTRsGHDLD+3p59+2ggPDzeCgoKMhx56yLhw4YJjnevVzg2lAAAFEdkie2QLoPCyGcZV7mYDAAAAAADgZlyaAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj/k/DdGrVbvUVZcAAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |           1 |        1 |          1 |        33 |\n',
      '| 1            |           1 |        1 |          1 |        37 |\n',
      '| 2            |           1 |        1 |          1 |        35 |\n',
      '| accuracy     |           1 |        1 |          1 |         1 |\n',
      '| macro avg    |           1 |        1 |          1 |       105 |\n',
      '| weighted avg |           1 |        1 |          1 |       105 |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['Random Forest'] = rf_score\n",
    'score'],
   'metadata': {'id': 'YRaqdO4jumXX',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'b96eed79-aeb7-433e-ea7c-8b90b2065a02'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \n',
       'Precision Train       1.000000             0.954548       1.000000  \n',
       'Precision Test        0.979167             0.960784       0.979167  \n',
       'Recall Train          1.000000             0.952381       1.000000  \n',
       'Recall Test           0.977778             0.955556       0.977778  \n',
       'Accuracy Train        1.000000             0.952381       1.000000  \n',
       'Accuracy Test         0.977778             0.955556       0.977778  \n',
       'F1 macro Train        1.000000             0.952353       1.000000  \n',
       'F1 macro Test         0.977692             0.955093       0.977692  '],
      'text/html': ['\n',
       '  <div id="df-3387012b-3e3c-4e5b-a98f-f5e1ad407a53" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-3387012b-3e3c-4e5b-a98f-f5e1ad407a53\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-3387012b-3e3c-4e5b-a98f-f5e1ad407a53 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-3387012b-3e3c-4e5b-a98f-f5e1ad407a53');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-48e17c6e-ced1-47be-8ba8-5d135966ab9e">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-48e17c6e-ced1-47be-8ba8-5d135966ab9e\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-48e17c6e-ced1-47be-8ba8-5d135966ab9e button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 132}]},
  {'cell_type': 'markdown',
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning'],
   'metadata': {'id': 'LRvyaI9BwA-b'}},
  {'cell_type': 'code',
   'source': ['# ML Model - 3 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "grid = {'n_estimators': [10, 50, 100, 200],\n",
    "              'max_depth': [8, 9, 10, 11, 12,13, 14, 15],\n",
    "              'min_samples_split': [2, 3, 4, 5]}\n",
    '\n',
    '# Initialize the model\n',
    'rf = RandomForestClassifier(random_state=0)\n',
    '\n',
    '# Repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=3, random_state=0)\n',
    '\n',
    '# Initialize RandomSearchCV\n',
    'random_search = RandomizedSearchCV(rf, grid,cv=rskf, n_iter=10, n_jobs=-1)\n',
    '\n',
    '# Fit the RandomSearchCV to the training data\n',
    'random_search.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = random_search.best_params_\n',
    'print("Best hyperparameters: ", best_params)'],
   'metadata': {'id': 'dPxstoI0wA-b',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '225732dd-c6bb-4df6-e494-46dfdfecb0c5'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'n_estimators': 100, 'min_samples_split': 4, 'max_depth': 12}\n"]}]},
  {'cell_type': 'code',
   'source': ['# Initialize model with best parameters\n',
    "rf_model2 = RandomForestClassifier(n_estimators = best_params['n_estimators'],\n",
    "                                 min_samples_leaf= best_params['min_samples_split'],\n",
    "                                 max_depth = best_params['max_depth'],\n",
    '                                 random_state=0)'],
   'metadata': {'id': '_kQLZcUVwHwv'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'rf2_score = evaluate_model(rf_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'Jl8uTrpRwPAj',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': '5d71f140-1c6d-4ad6-f394-d0f6fc637a8b'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': '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sLAwo1GjRrm6psOHDxv+/v5Gx44djczMTMf6119/3ZBkvPvuu451F6/1/fffd6xLT083IiMjjV69ejkdV5IxbNgwp3Xjx4/P9vszDMN47733DEnG3r17DcMwjHnz5hmSjPXr11+1dknG+PHjHT93797d8Pf3N/bs2eNYd+DAAaNEiRJG27Zts50vOjrayMrKcqwfPXq04evra5w4ceKq5714HUeOHDHGjBljVK9e3bGtefPmxoABA3L8HZw/f95IT093Otbx48eNsmXLGvfff79j3ZEjR7Jd20WxsbGGJOPxxx/Pcdul7yPDMIxt27YZ/v7+xgMPPGAcP37cuO6664xmzZoZ586du+o1AgDMcXnW+P777w1JxqxZs5z2W7RokdP63Hx2Xu3zJSfkCfLEReQJFGXcmgGvZbfbNWDAgGzrAwICHP8+deqU/vnnH910001KS0tzGn53JXfddZfCwsIcP990002SpN9///2qrzt58qRKlCiRq9q//fZbZWRkaNSoUfLx+d9/zR588EGFhIRo4cKFTvsHBwc73bfq7++vG2644Zo15cXFe0EXLFigc+fO5eo1mZmZ+uabb9S9e3dVrVrVsb5cuXLq06ePVq1apZMnTzq9ZtCgQU5DO2+66SZlZmbqjz/+yHWtffr00e7du7V+/XrHf+Y0jFKSfH195e/vL+nCMNtjx47p/PnzatasmTZt2pTrc0rS0KFDc7Vf/fr1lZiYqLffflsxMTH6559/NHPmTFMn5QIA5N4nn3yi0NBQ3Xrrrfrnn38cS9OmTRUcHOwYjp+fz85rIU+QJy4iT6AooxEBr3Xdddc5PhAu9csvv6hHjx4KDQ1VSEiISpcu7fjQTUlJueZxK1as6PTzxabE5feEXi4kJESnTp3KVe0XPyRr1arltN7f319Vq1bN9iFavnz5bPdlhoWFXbOmvGjXrp169eqlxMRElSpVSt26ddN7772n9PT0K77myJEjSktLy3Yd0oWZxrOysrI9Giu/v99LNWnSRLVr19bs2bM1a9YsRUZG6uabb77i/jNnzlTDhg1VvHhxRUREqHTp0lq4cGGu3g8X+fn5qXz58rne/9FHH1WjRo30448/avz48apbt26uXwsAMNeuXbuUkpKiMmXKqHTp0k5LamqqDh8+LCl/n53XQp5wRp4gT6Boot0Gr3XpyIeLTpw4oXbt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wCw2H8+EhalTp0q6cC/npd577z31799fkvTqq6/Kx8dHvXr1Unp6umJiYvTGG294pL7cIlsAAHB1nsoWnmIzDMO41k5NmjRxeuzHrl27lJ6erooVK0qS9u/fL7vdrho1arg0AVRGRoZ2796t1NRU1a1bV8HBwfk7UNo/+a4B1pJwfTmzS4AXSViz0+wS4C3Cqlx7Hxekj6/v0uvtiT+7qRLvRbZAYbU/tvy1d0KRUPGt7WaXAG8SVrC3/bmSLbwxV+RqRERengeaHx9++KF69uypwMBA1a1bt0DPBQBAgbPY8MmCQLYAACAPLJYtcjUioqCVLl1aZ86c0R133KF+/fopJiZGvr6++T8g31rg/zEiApdiRAQcCnhEREZiQ5de7z9+q5sqKbrIFigojIjARYyIgJMCHhHhSrbwxlzhFc/ySE5O1scffyybzabevXurXLlyGjZsmFavXm12aQAA5J0rz/q22DceZiFbAAAsxWK5Is+NiMzMTL300ku64YYbFBkZqfDwcKclP/z8/HT77bdr1qxZOnz4sF599VXt27dPHTp0ULVq1fJ1TAAAUDiQLQAAKFry3IhITEzUK6+8orvuukspKSmKi4tTz5495ePjo4SEBJcLCgwMVExMjDp37qwaNWpo3759Lh8TAACPsvm4thQxZAsAAK7BYrkiz1XNmjVL06dP1yOPPCI/Pz/dc889evvtt/XUU09p7dq1+S4kLS1Ns2bNUpcuXXTddddp0qRJ6tGjh3755Zd8HxMAADPYbDaXlqKGbAEAwNVZLVfk6qkZlzp48KAaNGggSQoODlZKSook6fbbb8/3s77vvvtuLViwQIGBgerdu7fGjRunli1b5utYAACYzmLP+i5oZAsAAK7BYtkiz42I8uXLKzk5WRUrVlS1atX0zTff6Prrr9f69etlt9vzVYSvr6/mzp3r+ozWAAB4AZuXDoP0VmQLAACuzmrZIs+NiB49emjp0qVq0aKFRowYoX79+umdd97R/v37NXr06HwVMWvWrHy9DgAAr+SlwyC9FdkCAIBrsFi2yHMj4rnnnnP8+6677lKlSpW0evVq1ahRQ127ds31cSZPnqxBgwapePHimjx58lX3HTlyZF7LBAAAhQTZAgCAosVmGIbhjgMdPnxYb7/9tp544olc7V+lShVt2LBBERERqlKlypULtNn0+++/562Y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n/r1m3laOfVZs8uGh3z0+YVH7N37kPOw8qQn49Tz9o5mlGR9FvvWorAgWxQMskXR5V+1qcomfuP4Oaz/i5Kk1OUfKGXuRAU27ypJKvfSeqfXHRrfUenbV3quUHjcz7/u0n3Dxjp+TnrtLUlSjy7Reu6pR8wqy9osli1shmEYZpx4xYoVat26tfz8/LRixYqr7tuuXbu8HTztHxcqg5UkXF/O7BLgRRLW7DS7BHiLsCoFevis/0S79HqfEd+6qZKihWwBT9gfW97sEuAlKr613ewS4E3Cqhbo4V3JFnnJFZmZmUpISNCHH36ogwcPKioqSv3799eTTz7p1id3mDYi4tIAkOcwAACAN7PYtxaFBdkCAGBZHsoWzz//vKZOnaqZM2eqXr162rBhgwYMGKDQ0FCNHDnSbefxihtNFi1apFWrVjl+njJliho3bqw+ffro+PHjJlYGAAAKI7IFAAB5t3r1anXr1k233XabKleurDvvvFMdO3bUjz/+6Nbz5KsR8f3336tfv35q2bKl/v77b0nSBx984PSBnxePPvqoTp48KUnatm2b4uLi1KVLF+3du/eazxgHAMDr2HxcW4ogsgUAAFfhQq5IT0/XyZMnnZb09PQcT9OqVSstXbpUO3deuKX5p59+0qpVq9S5c2e3Xk6e085nn32mmJgYBQQEaPPmzY4LSElJ0bPP5m/yu71796pu3bqO43ft2lXPPvuspkyZov/+97/5OiYAAKax2VxbihiyBQAA1+BCrkhKSlJoaKjTkpSUlONpHn/8cd19992qXbu2ihUrpiZNmmjUqFHq27evWy8nz42IiRMnatq0aZo+fbrTs7lbt26tTZs25asIf39/paWlSZK+/fZbdex4YRb38PBwx7cZAAAUGoyIyBOyBQAA1+BCroiPj1dKSorTEh8fn+Np5s6dq1mzZmn27NnatGmTZs6cqZdeekkzZ8506+XkebLKHTt2qG3bttnWh4aG6sSJE/kqok2bNoqLi1Pr1q31448/as6cOZKknTt3qnx5ZiYGABQyRXBUgyvIFgAAXIML2cJut8tut+dq30cffdQxKkKSGjRooD/++ENJSUmKjY3Ndw2Xy/PXLpGRkdq9e3e29atWrVLVqvl7ZMnrr78uPz8/ffrpp5o6daquu+46SdJ///tfderUKV/HBADANNyakSdkCwAArsFDuSIt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caOaNKxvYmUAzGbz8ZGvv11r335B7/a4Xu/1auZYJOm758fo6ycfMLlKC2GOCFgE2QIX8V5AXgSUuU720Aid+SfZ7FKsw2K5ghERFjOg310a+9Qzql+3thrWr6uZs+fqzJmz6tntNrNLg4edTjuj/X/+7fj5r7+T9euO3QoNLaGoyLImVoaC1nbURP3+/SKdTP5T/kElVPe2u1WxeTvNHdRFp/85lOMElSeT9yvl732eL9ay6PPDOsgWuIj3QtHlFxCkEuWrO34OjqqisBqNlH7ymDJOHlODB57S/mWf6+zRgwouX01Nhifp1F+7lbz2GxOrthprZQsaERbTJSZax46f0OSpb+vI0WOqU6uG3p7yMkPmiqCft+/QfUNGO35OevUNSVKP22P0XMLjZpUFDwgKL6Pbk95TUOlySj+VoiM7t2nuoC7at2ap2aUVHR769iEhIUGJiYlO62rVqqXffvvNI+dH0UC2wEW8F4qu8DrNdOu0/+WIpqNfliTtWTBT658fppI1GqjqbfeqWImSOnPkgJLXLdHWN8cr61yGWSVbj5eObMgvm2EYhtlFuF3aP9feB0VDJv/jh/95/sZKZpcALzH2l3MFenzjzzUuvd5WoWWu9ktISNCnn36qb7/91rHOz89PpUqVcun8yAHZAsBlZrWPNLsEeJG+P54v0OO7ki1ymys8iRERAAAUYn5+foqMJAwDAIDCw1o3mgAA4BVsLi3p6ek6efKk05Kenp7jmXbt2qWoqChVrVpVffv21f79+wv64gAAgMe5ki28D40IAADczcWnZiQlJSk0NNRpSUpKynaaFi1aaMaMGVq0aJGmTp2qvXv36qabbtKpU6dMuGgAAFBgeGoGAAC4Kptrff74+HjFxcU5rbPb7dn269y5s+PfDRs2VIsWLVSpUiXNnTtXAwcOdKkGAADgRVzMFt6GRgQAAO7m4rcPdrs9x8bDtZQsWVI1a9bU7t27XTo/AADwMl46siG/rNVWAQDAK7g2R0R+paamas+ePSpXrpwrxQMAAK/jmVyRlJSk5s2bq0SJEipTpoy6d++uHTt2uO0qLqIRAQCAu9l8XFtyacyYMVqxYoX27dun1atXq0ePHvL19dU999xTgBcHAAA8zgO5QpJWrFihYcOGae3atVqyZInOnTunjh076vTp0269HG7NAACgkPrrr790zz336OjR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l81mk81mk7+/v6pXr64JEybo/PnzBX7uzz//XE8//XSu9vX0B2flypU1adIkj5wLAAArIVvkjGwBFF1+ZhcAeKNOnTrpvffeU3p6ur7++msNGzZMxYoVU3x8fLZ9MzIy5O/v75bzhoeHu+U4AADAu5AtAOB/GBEB5MButysyMlKVKlXS0KFDFR0drS+//FLS/4YBPvPMM4qKilKtWrUkSX/++ad69+6tkiVLKjw8XN26ddO+ffscx8zMzFRcXJxKliypiIgIPfbYYzIMw+m8lw+fTE9P19ixY1WhQgXZ7XZVr15d77zzjvbt26cOHTpIksLCwmSz2dS/f39JUlZWlpKSklSlShUFBASoUaNG+vTTT53O8/XXX6tmzZoKCAhQhw4dnOrMj8zMTA0cONBxzlq1aum1117Lcd/ExESVLl1aISEhGjJkiDIyMhzbclM7AACFEdkib8gWgLUxIgLIhYCAAB09etTx89KlSxUSEqIlS5ZIks6dO6eYmBi1bNlS33//vfz8/DRx4kR16tRJW7dulb+/v15++WXNmDFD7777rurUqaOXX35Z8+bN080333zF8953331as2aNJk+erEaNGmnv3r36559/VKFCBX322Wfq1auXduzYoZCQEAUEBEiSkpKS9OGHH2ratGmqUaOGVq5cqX79+ql06dJq166d/vzzT/Xs2VPDhg3ToEGDtGHDBj3yyCMu/X6ysrJUvnx5ffLJJ4qIiNDq1as1aNAglStXTr1793b6vRUvXlzLly/Xvn37NGDAAEVEROiZZ57JVe0AAFgF2eLqyBaAxRkAnMTGxhrdunUzDMMwsrKyjCVLlhh2u90YM2aMY3vZsmWN9PR0x2s++OADo1atWkZWVpZjXXp6uhEQEGAsXrzYMAzDKFeunPHCCy84tp87d84oX76841yGYRjt2rUzHn74YcMwDGPHjh2GJGPJkiU51rls2TJDknH8+HHHurNnzxqBgYHG6tWrnfYdOHCgcc899xiGYRjx8fFG3bp1nbaPHTs227EuV6lSJePVV1+94vbLDRs2zOjVq5fj59jYWCM8PNw4ffq0Y93UqVON4OBgIzMzM1e153TNAAB4O7JFzsgWQNHFiAggBwsWLFBwcLDOnTunrKws9enTRwkJCY7tDRo0cLp386efftLu3btVokQJp+OcPXtWe/bsUUpKipKTk9WiRQvHNj8/PzVr1izbEMqLtmzZIl9f3zx163fv3q20tDTdeuutTuszMjLUpEkTSdKvv/7qVIcktWzZMtfnuJIpU6bo3Xff1f79+3XmzBllZGSocePGTvs0atRIgYGBTudNTU3Vn3/+qdTU1GvWDgBAYUW2yDuyBWBdNCKAHHTo0EFTp06Vv7+/oqKi5Ofn/F+VoKAgp59TU1PVtGlTzZo1K9uxSpcuna8aLg6HzIvU1FRJ0sKFC3Xdddc5bbPb7fmqIzc+/vhjjRkzRi+//LJatmypEiVK6MUXX9S6detyfQyzagcAwBPIFnlDtgCsjUYEkIOgoCBVr1491/tff/31mjNnjsqUKaOQkJAc9ylXrpzWrVuntm3bSpLOnz+vjRs36vrrr89x/wYNGigrK0srVqxQdHR0tu0XvzXJzMx0rKtbt67sdrv2799/xW876tSp45gc66K1a9de+yKv4ocfflCrVq300EMPOdbt2bMn234//fSTzpw54whCa9euVXBwsCpUqKDw8PBr1g4AQGFFtsgbsgVgbTw1A3CDvn37qlSpUurWrZu+//577d27V8uXL9fIkSP1119/SZIefvhhPffcc5o/f75+++03PfTQQ1d9TnflypUVGxur+++/X/Pnz3ccc+7cuZKkSpUqyWazacGCBTpy5IhSU1NVokQJjRkzRqNHj9bMmTO1Z88ebdq0Sf/5z380c+ZMSdKQIUO0a9cuPfroo9qxY4dmz56tGTNm5Oo6//77b23ZssVpOX78uGrUqKENGzZo8eLF2rlzp8aNG6f169dne31GRoYGDhyo7du36+uvv9b48eM1fPhw+fj45Kp2AACKCrIF2QKwNLMnqQC8zaUTSuVle3JysnHfffcZpUqVMux2u1G1alXjwQcfNFJSUgzDuDCB1MMPP2yEhIQYJUuWNOLi4oz77rvvihNKGYZhnDlzxhg9erRRrlw5w9/f36hevbrx7rvvOrZPmDDBiIyMNGw2mxEbG2sYxoVJsCZNmmTUqlXLKFasmFG6dGkjJibGWLFiheN1X331lVG9enXDbrcbN910k/Huu+/makIpSdmWDz74wDh79qzRv39/IzQ01ChZsqQxdOhQ4/HHHzcaNWqU7ff21FNPGREREUZwcLDx4IMPGmfPnnXsc63amVAKAFAYkS1yRrYAii6bYVxhNhsAAAAAAAA349YMAAAAAADgMTQiAAAAAACAx9CIAAAAAAAAHkMjAgAAAAAAeAyNCAAAAAAA4DE0IgAAAAAAgMfQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4zP8B+6RZHWy8FC8AAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.972222 | 0.945946 |   0.958904 |  37        |\n',
      '| 2            |    0.944444 | 0.971429 |   0.957746 |  35        |\n',
      '| accuracy     |    0.971429 | 0.971429 |   0.971429 |   0.971429 |\n',
      '| macro avg    |    0.972222 | 0.972458 |   0.972217 | 105        |\n',
      '| weighted avg |    0.971693 | 0.971429 |   0.971434 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['Random Forest tuned'] = rf2_score"],
   'metadata': {'id': 'AmhUFwxdwbSF'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'source': ['##### Which hyperparameter optimization technique have i used and why?'],
   'metadata': {'id': 'c-26ctgmwA-c'}},
  {'cell_type': 'markdown',
   'source': ['The hyperparameter optimization technique i used is RandomizedSearchCV. RandomizedSearchCV is a method that performs a random search over a specified parameter grid to find the best hyperparameters for a model. It is a popular method for hyperparameter tuning because it can be more efficient than exhaustive search methods like GridSearchCV when the parameter space is large.\n',
    '\n',
    'The choice of hyperparameter optimization technique depends on various factors such as the size of the parameter space, the computational resources available, and the time constraints. RandomizedSearchCV can be a good choice when the parameter space is large and computational resources are limited.'],
   'metadata': {'id': 'IpCC2mf0wA-c'}},
  {'cell_type': 'markdown',
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.'],
   'metadata': {'id': 'HO3sJ66GwA-c'}},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'os_VXzbzxdX7',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 300},
    'outputId': '5fbaf009-7ac0-42d2-a894-88a1ad08eee6'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned  \n',
       'Precision Train             0.971693  \n',
       'Precision Test              0.979167  \n',
       'Recall Train                0.971429  \n',
       'Recall Test                 0.977778  \n',
       'Accuracy Train              0.971429  \n',
       'Accuracy Test               0.977778  \n',
       'F1 macro Train              0.971434  \n',
       'F1 macro Test               0.977692  '],
      'text/html': ['\n',
       '  <div id="df-bfc3f32d-2a11-48ae-8856-d20f59a9c9a2" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-bfc3f32d-2a11-48ae-8856-d20f59a9c9a2\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-bfc3f32d-2a11-48ae-8856-d20f59a9c9a2 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-bfc3f32d-2a11-48ae-8856-d20f59a9c9a2');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-fc225145-4470-4061-9624-54435e8ee0de">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-fc225145-4470-4061-9624-54435e8ee0de\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-fc225145-4470-4061-9624-54435e8ee0de button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 137}]},
  {'cell_type': 'markdown',
   'source': ['It appears that hyperparameter tuning improved the performance of the Random Forest model on the train set. But the precision, recall, accuracy and F1 scores on the test set are same for both tuned and untuned Random Forest models.'],
   'metadata': {'id': 'ta9Xk3xfwA-c'}},
  {'cell_type': 'markdown',
   'metadata': {'id': 'lHIyvCjC_4_G'},
   'source': ['### ML Model - 4 : SVM (Support Vector Machine)']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'e1TNdgXg_4_G'},
   'outputs': [],
   'source': ['# ML Model - 4 Implementation\n',
    "svm_model = SVC(kernel='linear', random_state=0, probability=True)\n",
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'zlBiexnN_4_G'},
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."]},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'l3Ic0Y-m_4_G',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '3dbc4d5f-6794-45a3-94dd-d7f395d27504'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABssklEQVR4nO3deVgVdf//8dcB5QgiKLggKe77npq55FIkLplbt5VaaqZpLiVZxn2nglm03JV5Z1pWaqalZVppaVoumUuu2WK4hFmJSy4ooogwvz/8eb4eQQXO4cxheD6ua67bMzNn5j1wuufF+3xmxmYYhiEAAAAAAAAP8DG7AAAAAAAAUHjQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGUNHDhQlStXNrsMtzpy5IjuuecehYaGymazacqUKW7fh81mU2xsrNu3W1BZ8XMEACjcyBOeR54AnNGIgMfZbLYcTWvWrDG71GwdOXJEY8eOVe3atRUQEKDixYuradOmmjx5sk6dOpWv+x4zZoxWrFihmJgYzZ07V506dcrX/XlSbGysbDabfHx89Oeff2ZZfvr0afn7+8tms2nkyJG53n5qaqpiY2O99nMFAHAfT2aNvJ5fyBP5gzwBFAxFzC4Ahc/cuXOdXr///vtauXJllvl16tRxaT8zZ85UZmamS9u42pYtW9SlSxelpKSof//+atq0qSRp69ateuGFF7Ru3Tp9/fXXbt3nlb799lt1795dY8eOzbd9nDt3TkWKmPd/DXa7XR9++KGeeuopp/mffvqpS9tNTU1VXFycJKl9+/Y5fl9+fI4AAPnLU1lDytv5hTyR/8gTgHejEQGP69+/v9PrTZs2aeXKlVnmXy01NVUBAQE53k/RokXzVN+1nDp1Sj179pSvr6927Nih2rVrOy1/7rnnNHPmTLfu82pHjx5VyZIl83UfxYoVy9ft30iXLl2yDQ7z589X165dtWjRIo/UcfbsWRUvXtztnyMAQP7La9bwBPKEZ5AnAO/GpRnwSu3bt1f9+vW1bds2tW3bVgEBAfr3v/8tSfrss8/UtWtXhYeHy263q1q1anr22WeVkZHhtI2rr8U7cOCAbDab/vvf/+rtt99WtWrVZLfb1bx5c23ZsuWGNb311lv6+++/9eqrr2YJDZJUrlw5PfPMM07z3nzzTdWrV092u13h4eEaMWJEluGWl4/1119/VYcOHRQQEKCbbrpJL730kmOd2bNny2azyTAMTZs2zTGkVPq/IYhXu/yeAwcOOOZt3bpVUVFRKl26tPz9/VWlShU99NBDTu/L7prOHTt2qHPnzgoKClJgYKDuuOMObdq0Kdv9ff/994qOjlaZMmVUvHhx9ezZU8eOHbvmz/Vqffv21c6dO/Xbb7855h0+fFjffvut+vbtm2X9CxcuaMKECWratKmCg4NVvHhx3XbbbVq9erVjnQMHDqhMmTKSpLi4OMfP7/JxDhw4UIGBgdq/f7+6dOmiEiVKqF+/fo5lV36OJk6cKB8fH33zzTdOdQwdOlR+fn768ccfc3ysAADzZGZmasqUKapXr56KFSumcuXK6ZFHHtHJkyed1rveufNG55fskCfIExJ5AmBEBLzW8ePH1blzZ913333q37+/ypUrJ+nSCSowMFDR0dEKDAzUt99+qwkTJuj06dN6+eWXb7jd+fPn68yZM3rkkUdks9n00ksvqVevXvr999+v263+/PPP5e/vr3vuuSdH9cfGxiouLk6RkZEaPny4EhISNH36dG3ZskXff/+9075OnjypTp06qVevXurTp48++eQTjRs3Tg0aNFDnzp3Vtm1bzZ07Vw888IDuvPNOPfjggzmq4UpHjx5Vx44dVaZMGT399NMqWbKkDhw4cMMhir/88otuu+02BQUF6amnnlLRokX11ltvqX379lq7dq1atGjhtP6oUaNUqlQpTZw4UQcOHNCUKVM0cuRILViwIEd1tm3bVhUqVND8+fM1adIkSdKCBQsUGBiorl27Zln/9OnTeuedd3T//fdryJAhOnPmjN59911FRUXphx9+UOPGjVWmTBlNnz5dw4cPV8+ePdWrVy9JUsOGDR3buXjxoqKiotSmTRv997//vebom2eeeUZffPGFBg8erJ9++kklSpTQihUrNHPmTD377LNq1KhRjo4TAGCuRx55RLNnz9agQYM0evRoJSYm6o033tCOHTsc5+kbnTtzcn65GnmCPCGRJwAZgMlGjBhhXP1RbNeunSHJmDFjRpb1U1NTs8x75JFHjICAAOP8+fOOeQMGDDAqVarkeJ2YmGhIMkJDQ40TJ0445n/22WeGJOOLL764bp2lSpUyGjVqlKNjOnr0qOHn52d07NjRyMjIcMx/4403DEnGe++955h3+Vjff/99x7y0tDQjLCzM6N27t9N2JRkjRoxwmjdx4sQsPz/DMIxZs2YZkozExETDMAxj8eLFhiRjy5Yt161dkjFx4kTH6x49ehh+fn7G/v37HfMOHTpklChRwmjbtm2W/UVGRhqZmZmO+WPGjDF8fX2NU6dOXXe/l4/j2LFjxtixY43q1as7ljVv3twYNGhQtj+DixcvGmlpaU7bOnnypFGuXDnjoYcecsw7duxYlmO7bMCAAYYk4+mnn8522ZWfI8MwjJ9++snw8/MzHn74YePkyZPGTTfdZDRr1sxIT0+/7jECAMxxddb47rvvDEnGvHnznNZbvny50/ycnDuvd37JDnmCPHEZeQKFGZdmwGvZ7XYNGjQoy3x/f3/Hv8+cOaN//vlHt912m1JTU52G313Lvffeq1KlSjle33bbbZKk33///brvO336tEqUKJGj2letWqULFy7o8ccfl4/P//1nNmTIEAUFBWnZsmVO6wcGBjpdt+rn56dbbrnlhjXlxuVrQZcuXar09PQcvScjI0Nff/21evTooapVqzrmly9fXn379tX69et1+vRpp/cMHTrUaWjnbbfdpoyMDP3xxx85rrVv377at2+ftmzZ4vjf7IZRSpKvr6/8/PwkXRpme+LECV28eFHNmjXT9u3bc7xPSRo+fHiO1qtfv77i4uL0zjvvKCoqSv/884/mzJlj6k25AAA59/HHHys4OFh33nmn/vnnH8fUtGlTBQYGOobj5+XceSPkCfLEZeQJFGY0IuC1brrpJscJ4Uq//PKLevbsqeDgYAUFBalMmTKOk25ycvINtxsREeH0+nJT4uprQq8WFBSkM2fO5Kj2yyfJWrVqOc338/NT1apVs5xEK1SokOW6zFKlSt2wptxo166devfurbi4OJUuXVrdu3fXrFmzlJaWds33HDt2TKmpqVmOQ7p0p/HMzMwsj8bK68/3Sk2aNFHt2rU1f/58zZs3T2FhYbr99tuvuf6cOXPUsGFDFStWTKGhoSpTpoyWLVuWo8/DZUWKFFGFChVyvP6TTz6pRo0a6YcfftDEiRNVt27dHL8XAGCuvXv3Kjk5WWXLllWZMmWcppSUFB09elRS3s6dN0KecEaeIE+gcKLdBq915ciHy06dOqV27dopKChIkyZNUrVq1VSsWDFt375d48aNy9FjkXx9fbOdbxjGdd9Xu3Zt7dy5UxcuXMi2QeKKvNYkKdsbS0nKcvNOm82mTz75RJs2bdIXX3yhFStW6KGHHtIrr7yiTZs2KTAwMPeFZ8OVY7lS3759NX36dJUoUUL33nuv0zdBV/rggw80cOBA9ejRQ08++aTKli0rX19fxcfHa//+/Tnen91uv+Y+svP7779r7969kqSffvopx+8DAJgvMzNTZcuW1bx587JdfvmGhPlx7iRP5Ax5ArA2RkSgQFmzZo2OHz+u2bNn67HHHtNdd92lyMhIp0st8ku3bt107ty5HD3uqVKlSpKkhIQEp/kXLlxQYmKiY7k7XD72q++efa2hi7feequee+45bd26VfPmzdMvv/yijz76KNt1y5Qpo4CAgCzHIUm//fabfHx8VLFiRdcO4Br69u2rpKQk7dmz55rDKCXpk08+UdWqVfXpp5/qgQceUFRUlCIjI3X+/Hmn9a4VsPIiMzNTAwcOVFBQkP7973/rww8/dPm55AAAz6lWrZqOHz+u1q1bKzIyMst09Y0Cr3fuzO35hTzhjDxBnkDhRCMCBcrl7viV3fALFy7ozTffzPd9Dxs2TOXLl9cTTzyhPXv2ZFl+9OhRTZ48WZIUGRkpPz8/TZ061anWd999V8nJydnerTmvqlWrJklat26dY97Zs2c1Z84cp/VOnjyZ5VuExo0bS9I1h1P6+vqqY8eO+uyzz5we23XkyBHNnz9fbdq0UVBQkBuOIqtq1appypQpio+P1y233HLN9bL7TGzevFkbN250Wu/yXauvDlh58eqrr2rDhg16++239eyzz6pVq1YaPny4/vnnH5e3DQDIf3369FFGRoaeffbZLMsuXrzoOFfk5NyZ2/MLeeKAYz55gjyBwotLM1CgtGrVSqVKldKAAQM0evRo2Ww2zZ07N9fD9PKiVKlSWrx4sbp06aLGjRurf//+atq0qSRp+/bt+vDDD9WyZUtJlzr/MTExiouLU6dOnXT33XcrISFBb775ppo3b+50IylXdezYURERERo8eLCefPJJ+fr66r333lOZMmV08OBBx3pz5szRm2++qZ49e6patWo6c+aMZs6cqaCgIHXp0uWa2588ebJWrlypNm3a6NFHH1WRIkX01ltvKS0tzenZ5Pnhscceu+E6d911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j6ZOnapffvlFc+bM0bfffqunnnpK0qUhdVOmTFFQUJCSkpKUlJSksWPHZqmlX79++uKLLxwhQ5JWrFih1NRU9ezZU5IUHx+v999/XzNmzNAvv/yiMWPGqH///lq7dq1bfl6Fnb+/vy5cuKCBAwdq69at+vzzz7Vx40YZhqEuXbooPT1dkjRixAilpaVp3bp1+umnn/Tiiy8qMDAwy/b43QOA9ZAtkFPkCgBex0C+GzBggNG9e3fDMAzj1ltvNR566CHDMAxj8eLFxuVfweDBg42hQ4c6ve+7774zfHx8jHPnzhm7d+82JBlbtmxxLN+7d68hyXjttdeuue+PP/7YCA0NdbyeNWuWERwcnGW9SpUqObaTnp5ulC5d2nj//fcdy++//37j3nvvNQzDMM6fP28EBAQYGzZscNrG4MGDjfvvv//6PwxkceXnIzMz01i5cqVht9uNHj16GJKM77//3rHuP//8Y/j7+xsLFy40DMMwGjRoYMTGxma73dWrVxuSjJMnTxqGwe8eAKyEbIFrIVcAKAiKmNUAKaxefPFF3X777Vm6xj/++KN27dqlefPmOeYZhqHMzEwlJiZqz549KlKkiG6++WbH8urVq6tUqVJO21m1apXi4+P122+/6fTp07p48aLOnz+v1NTUHF+vV6RIEfXp00fz5s3TAw88oLNnz+qzzz7TRx99JEnat2+fUlNTdeeddzq978KFC2rSpEmufh64ZOnSpQoMDFR6eroyMzPVt29f9erVS0uXLlWLFi0c64WGhqpWrVravXu3JGn06NEaPny4vv76a0VGRqp3795q2LBhnuvgdw8ABQ/ZAlcjVwDwdjQiPKxt27aKiopSTEyMBg4c6JifkpKiRx55RKNHj87ynoiICO3Zs+eG2z5w4IDuuusuDR8+XM8995xCQkK0fv16DR48WBcuXMjVjYP69eundu3a6ejRo1q5cqX8/f3VqVMnR62StGzZMt10001O77Pb7TneB/5Phw4dNH36dPn5+Sk8PFxFihTR559/fsP3Pfzww4qKitKyZcv09ddfKz4+Xq+88opGjRqV51r43QNAwUK2wNXIFQC8HY0IE7zwwgtq3LixatWq5Zh3880369dff1X16tWzfU+tWrV08eJF7dixQ02bNpV0qYt85Z2yt23bpszMTL3yyivy8bl0+4+FCxc6bcfPz08ZGRk3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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.972973 | 0.972973 |   0.972973 |  37        |\n',
      '| 2            |    0.971429 | 0.971429 |   0.971429 |  35        |\n',
      '| accuracy     |    0.980952 | 0.980952 |   0.980952 |   0.980952 |\n',
      '| macro avg    |    0.981467 | 0.981467 |   0.981467 | 105        |\n',
      '| weighted avg |    0.980952 | 0.980952 |   0.980952 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}],
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'svm_score = evaluate_model(svm_model, x_train, x_test, y_train, y_test)']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['SVM'] = svm_score\n",
    'score'],
   'metadata': {'id': 'hah2ym_FI9YW',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '75083ae9-e9ab-47b9-f307-bb4cdb75cf06'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  \n',
       'Precision Train             0.971693  0.980952  \n',
       'Precision Test              0.979167  0.979167  \n',
       'Recall Train                0.971429  0.980952  \n',
       'Recall Test                 0.977778  0.977778  \n',
       'Accuracy Train              0.971429  0.980952  \n',
       'Accuracy Test               0.977778  0.977778  \n',
       'F1 macro Train              0.971434  0.980952  \n',
       'F1 macro Test               0.977692  0.977692  '],
      'text/html': ['\n',
       '  <div id="df-22ae7c9c-5ff4-40e4-9543-f593ce612c66" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-22ae7c9c-5ff4-40e4-9543-f593ce612c66\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-22ae7c9c-5ff4-40e4-9543-f593ce612c66 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-22ae7c9c-5ff4-40e4-9543-f593ce612c66');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-92a9d443-9f2f-459b-b28b-5f2bf7d85246">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-92a9d443-9f2f-459b-b28b-5f2bf7d85246\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-92a9d443-9f2f-459b-b28b-5f2bf7d85246 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 140}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'ffEiQ19I_4_H'},
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'AU8Saxiv_4_H',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '364e107c-60e6-4687-c043-e2dee24268e0'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'kernel': 'rbf', 'degree': 5, 'C': 8.5}\n"]}],
   'source': ['# ML Model - 4 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "param_grid = {'C': np.arange(0.1, 10, 0.1),\n",
    "              'kernel': ['linear', 'poly', 'rbf', 'sigmoid'],\n",
    "              'degree': np.arange(2, 6, 1)}\n",
    '\n',
    '# Initialize the model\n',
    'svm = SVC(random_state=0, probability=True)\n',
    '\n',
    '# Repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=3, random_state=0)\n',
    '\n',
    '# Initialize RandomizedSearchCV with kfold cross-validation\n',
    'random_search = RandomizedSearchCV(svm, param_grid, n_iter=10, cv=rskf, n_jobs=-1)\n',
    '\n',
    '# Fit the RandomizedSearchCV to the training data\n',
    'random_search.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = random_search.best_params_\n',
    'print("Best hyperparameters: ", best_params)']},
  {'cell_type': 'code',
   'source': ['# Initialize model with best parameters\n',
    "svm_model2 = SVC(C = best_params['C'],\n",
    "           kernel = best_params['kernel'],\n",
    "           degree = best_params['degree'],\n",
    '           random_state=0, probability=True)'],
   'metadata': {'id': 'VytDm6E-JP-m'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'svm2_score = evaluate_model(svm_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'DiLNfk1RJGXv',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': 'c83cc630-9d46-4f21-a4f4-c072bd592efc'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABssklEQVR4nO3deVgVdf//8dcB5QgiKLggKe77npq55FIkLplbt5VaaqZpLiVZxn2nglm03JV5Z1pWaqalZVppaVoumUuu2WK4hFmJSy4ooogwvz/8eb4eQQXO4cxheD6ua67bMzNn5j1wuufF+3xmxmYYhiEAAAAAAAAP8DG7AAAAAAAAUHjQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGUNHDhQlStXNrsMtzpy5IjuuecehYaGymazacqUKW7fh81mU2xsrNu3W1BZ8XMEACjcyBOeR54AnNGIgMfZbLYcTWvWrDG71GwdOXJEY8eOVe3atRUQEKDixYuradOmmjx5sk6dOpWv+x4zZoxWrFihmJgYzZ07V506dcrX/XlSbGysbDabfHx89Oeff2ZZfvr0afn7+8tms2nkyJG53n5qaqpiY2O99nMFAHAfT2aNvJ5fyBP5gzwBFAxFzC4Ahc/cuXOdXr///vtauXJllvl16tRxaT8zZ85UZmamS9u42pYtW9SlSxelpKSof//+atq0qSRp69ateuGFF7Ru3Tp9/fXXbt3nlb799lt1795dY8eOzbd9nDt3TkWKmPd/DXa7XR9++KGeeuopp/mffvqpS9tNTU1VXFycJKl9+/Y5fl9+fI4AAPnLU1lDytv5hTyR/8gTgHejEQGP69+/v9PrTZs2aeXKlVnmXy01NVUBAQE53k/RokXzVN+1nDp1Sj179pSvr6927Nih2rVrOy1/7rnnNHPmTLfu82pHjx5VyZIl83UfxYoVy9ft30iXLl2yDQ7z589X165dtWjRIo/UcfbsWRUvXtztnyMAQP7La9bwBPKEZ5AnAO/GpRnwSu3bt1f9+vW1bds2tW3bVgEBAfr3v/8tSfrss8/UtWtXhYeHy263q1q1anr22WeVkZHhtI2rr8U7cOCAbDab/vvf/+rtt99WtWrVZLfb1bx5c23ZsuWGNb311lv6+++/9eqrr2YJDZJUrlw5PfPMM07z3nzzTdWrV092u13h4eEaMWJEluGWl4/1119/VYcOHRQQEKCbbrpJL730kmOd2bNny2azyTAMTZs2zTGkVPq/IYhXu/yeAwcOOOZt3bpVUVFRKl26tPz9/VWlShU99NBDTu/L7prOHTt2qHPnzgoKClJgYKDuuOMObdq0Kdv9ff/994qOjlaZMmVUvHhx9ezZU8eOHbvmz/Vqffv21c6dO/Xbb7855h0+fFjffvut+vbtm2X9CxcuaMKECWratKmCg4NVvHhx3XbbbVq9erVjnQMHDqhMmTKSpLi4OMfP7/JxDhw4UIGBgdq/f7+6dOmiEiVKqF+/fo5lV36OJk6cKB8fH33zzTdOdQwdOlR+fn768ccfc3ysAADzZGZmasqUKapXr56KFSumcuXK6ZFHHtHJkyed1rveufNG55fskCfIExJ5AmBEBLzW8ePH1blzZ913333q37+/ypUrJ+nSCSowMFDR0dEKDAzUt99+qwkTJuj06dN6+eWXb7jd+fPn68yZM3rkkUdks9n00ksvqVevXvr999+v263+/PPP5e/vr3vuuSdH9cfGxiouLk6RkZEaPny4EhISNH36dG3ZskXff/+9075OnjypTp06qVevXurTp48++eQTjRs3Tg0aNFDnzp3Vtm1bzZ07Vw888IDuvPNOPfjggzmq4UpHjx5Vx44dVaZMGT399NMqWbKkDhw4cMMhir/88otuu+02BQUF6amnnlLRokX11ltvqX379lq7dq1atGjhtP6oUaNUqlQpTZw4UQcOHNCUKVM0cuRILViwIEd1tm3bVhUqVND8+fM1adIkSdKCBQsUGBiorl27Zln/9OnTeuedd3T//fdryJAhOnPmjN59911FRUXphx9+UOPGjVWmTBlNnz5dw4cPV8+ePdWrVy9JUsOGDR3buXjxoqKiotSmTRv997//vebom2eeeUZffPGFBg8erJ9++kklSpTQihUrNHPmTD377LNq1KhRjo4TAGCuRx55RLNnz9agQYM0evRoJSYm6o033tCOHTsc5+kbnTtzcn65GnmCPCGRJwAZgMlGjBhhXP1RbNeunSHJmDFjRpb1U1NTs8x75JFHjICAAOP8+fOOeQMGDDAqVarkeJ2YmGhIMkJDQ40TJ0445n/22WeGJOOLL764bp2lSpUyGjVqlKNjOnr0qOHn52d07NjRyMjIcMx/4403DEnGe++955h3+Vjff/99x7y0tDQjLCzM6N27t9N2JRkjRoxwmjdx4sQsPz/DMIxZs2YZkozExETDMAxj8eLFhiRjy5Yt161dkjFx4kTH6x49ehh+fn7G/v37HfMOHTpklChRwmjbtm2W/UVGRhqZmZmO+WPGjDF8fX2NU6dOXXe/l4/j2LFjxtixY43q1as7ljVv3twYNGhQtj+DixcvGmlpaU7bOnnypFGuXDnjoYcecsw7duxYlmO7bMCAAYYk4+mnn8522ZWfI8MwjJ9++snw8/MzHn74YePkyZPGTTfdZDRr1sxIT0+/7jECAMxxddb47rvvDEnGvHnznNZbvny50/ycnDuvd37JDnmCPHEZeQKFGZdmwGvZ7XYNGjQoy3x/f3/Hv8+cOaN//vlHt912m1JTU52G313Lvffeq1KlSjle33bbbZKk33///brvO336tEqUKJGj2letWqULFy7o8ccfl4/P//1nNmTIEAUFBWnZsmVO6wcGBjpdt+rn56dbbrnlhjXlxuVrQZcuXar09PQcvScjI0Nff/21evTooapVqzrmly9fXn379tX69et1+vRpp/cMHTrUaWjnbbfdpoyMDP3xxx85rrVv377at2+ftmzZ4vjf7IZRSpKvr6/8/PwkXRpme+LECV28eFHNmjXT9u3bc7xPSRo+fHiO1qtfv77i4uL0zjvvKCoqSv/884/mzJlj6k25AAA59/HHHys4OFh33nmn/vnnH8fUtGlTBQYGOobj5+XceSPkCfLEZeQJFGY0IuC1brrpJscJ4Uq//PKLevbsqeDgYAUFBalMmTKOk25ycvINtxsREeH0+nJT4uprQq8WFBSkM2fO5Kj2yyfJWrVqOc338/NT1apVs5xEK1SokOW6zFKlSt2wptxo166devfurbi4OJUuXVrdu3fXrFmzlJaWds33HDt2TKmpqVmOQ7p0p/HMzMwsj8bK68/3Sk2aNFHt2rU1f/58zZs3T2FhYbr99tuvuf6cOXPUsGFDFStWTKGhoSpTpoyWLVuWo8/DZUWKFFGFChVyvP6TTz6pRo0a6YcfftDEiRNVt27dHL8XAGCuvXv3Kjk5WWXLllWZMmWcppSUFB09elRS3s6dN0KecEaeIE+gcKLdBq915ciHy06dOqV27dopKChIkyZNUrVq1VSsWDFt375d48aNy9FjkXx9fbOdbxjGdd9Xu3Zt7dy5UxcuXMi2QeKKvNYkKdsbS0nKcvNOm82mTz75RJs2bdIXX3yhFStW6KGHHtIrr7yiTZs2KTAwMPeFZ8OVY7lS3759NX36dJUoUUL33nuv0zdBV/rggw80cOBA9ejRQ08++aTKli0rX19fxcfHa//+/Tnen91uv+Y+svP7779r7969kqSffvopx+8DAJgvMzNTZcuW1bx587JdfvmGhPlx7iRP5Ax5ArA2RkSgQFmzZo2OHz+u2bNn67HHHtNdd92lyMhIp0st8ku3bt107ty5HD3uqVKlSpKkhIQEp/kXLlxQYmKiY7k7XD72q++efa2hi7feequee+45bd26VfPmzdMvv/yijz76KNt1y5Qpo4CAgCzHIUm//fabfHx8VLFiRdcO4Br69u2rpKQk7dmz55rDKCXpk08+UdWqVfXpp5/qgQceUFRUlCIjI3X+/Hmn9a4VsPIiMzNTAwcOVFBQkP7973/rww8/dPm55AAAz6lWrZqOHz+u1q1bKzIyMst09Y0Cr3fuzO35hTzhjDxBnkDhRCMCBcrl7viV3fALFy7ozTffzPd9Dxs2TOXLl9cTTzyhPXv2ZFl+9OhRTZ48WZIUGRkpPz8/TZ061anWd999V8nJydnerTmvqlWrJklat26dY97Zs2c1Z84cp/VOnjyZ5VuExo0bS9I1h1P6+vqqY8eO+uyzz5we23XkyBHNnz9fbdq0UVBQkBuOIqtq1appypQpio+P1y233HLN9bL7TGzevFkbN250Wu/yXauvDlh58eqrr2rDhg16++239eyzz6pVq1YaPny4/vnnH5e3DQDIf3369FFGRoaeffbZLMsuXrzoOFfk5NyZ2/MLeeKAYz55gjyBwotLM1CgtGrVSqVKldKAAQM0evRo2Ww2zZ07N9fD9PKiVKlSWrx4sbp06aLGjRurf//+atq0qSRp+/bt+vDDD9WyZUtJlzr/MTExiouLU6dOnXT33XcrISFBb775ppo3b+50IylXdezYURERERo8eLCefPJJ+fr66r333lOZMmV08OBBx3pz5szRm2++qZ49e6patWo6c+aMZs6cqaCgIHXp0uWa2588ebJWrlypNm3a6NFHH1WRIkX01ltvKS0tzenZ5Pnhscceu+E6d911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j6ZOnapffvlFc+bM0bfffqunnnpK0qUhdVOmTFFQUJCSkpKUlJSksWPHZqmlX79++uKLLxwhQ5JWrFih1NRU9ezZU5IUHx+v999/XzNmzNAvv/yiMWPGqH///lq7dq1bfl6Fnb+/vy5cuKCBAwdq69at+vzzz7Vx40YZhqEuXbooPT1dkjRixAilpaVp3bp1+umnn/Tiiy8qMDAwy/b43QOA9ZAtkFPkCgBex0C+GzBggNG9e3fDMAzj1ltvNR566CHDMAxj8eLFxuVfweDBg42hQ4c6ve+7774zfHx8jHPnzhm7d+82JBlbtmxxLN+7d68hyXjttdeuue+PP/7YCA0NdbyeNWuWERwcnGW9SpUqObaTnp5ulC5d2nj//fcdy++//37j3nvvNQzDMM6fP28EBAQYGzZscNrG4MGDjfvvv//6PwxkceXnIzMz01i5cqVht9uNHj16GJKM77//3rHuP//8Y/j7+xsLFy40DMMwGjRoYMTGxma73dWrVxuSjJMnTxqGwe8eAKyEbIFrIVcAKAiKmNUAKaxefPFF3X777Vm6xj/++KN27dqlefPmOeYZhqHMzEwlJiZqz549KlKkiG6++WbH8urVq6tUqVJO21m1apXi4+P122+/6fTp07p48aLOnz+v1NTUHF+vV6RIEfXp00fz5s3TAw88oLNnz+qzzz7TRx99JEnat2+fUlNTdeeddzq978KFC2rSpEmufh64ZOnSpQoMDFR6eroyMzPVt29f9erVS0uXLlWLFi0c64WGhqpWrVravXu3JGn06NEaPny4vv76a0VGRqp3795q2LBhnuvgdw8ABQ/ZAlcjVwDwdjQiPKxt27aKiopSTEyMBg4c6JifkpKiRx55RKNHj87ynoiICO3Zs+eG2z5w4IDuuusuDR8+XM8995xCQkK0fv16DR48WBcuXMjVjYP69eundu3a6ejRo1q5cqX8/f3VqVMnR62StGzZMt10001O77Pb7TneB/5Phw4dNH36dPn5+Sk8PFxFihTR559/fsP3Pfzww4qKitKyZcv09ddfKz4+Xq+88opGjRqV51r43QNAwUK2wNXIFQC8HY0IE7zwwgtq3LixatWq5Zh3880369dff1X16tWzfU+tWrV08eJF7dixQ02bNpV0qYt85Z2yt23bpszMTL3yyivy8bl0+4+FCxc6bcfPz08ZGRk3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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.972973 | 0.972973 |   0.972973 |  37        |\n',
      '| 2            |    0.971429 | 0.971429 |   0.971429 |  35        |\n',
      '| accuracy     |    0.980952 | 0.980952 |   0.980952 |   0.980952 |\n',
      '| macro avg    |    0.981467 | 0.981467 |   0.981467 | 105        |\n',
      '| weighted avg |    0.980952 | 0.980952 |   0.980952 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['SVM tuned'] = svm2_score"],
   'metadata': {'id': '5jhEgQWyJG3P'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'metadata': {'id': 'Bbpe4TaP_4_H'},
   'source': ['##### Which hyperparameter optimization technique have i used and why?']},
  {'cell_type': 'markdown',
   'metadata': {'id': '2NSc4Rh__4_H'},
   'source': [' Here Randomized search is used as a hyperparameter optimization technique.\n',
    ' Randomized search is a popular technique because it can be more efficient than exhaustive search methods like grid search. Instead of trying all possible combinations of hyperparameters, randomized search samples a random subset of the hyperparameter space. This can save time and computational resources while still finding good hyperparameters for the model.']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'ifZ_nK19_4_H'},
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': '9Ei0SAaAKd6I',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 300},
    'outputId': '222405fd-8dee-4d81-f52e-5635d57d5901'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned  \n',
       'Precision Train             0.971693  0.980952   0.980952  \n',
       'Precision Test              0.979167  0.979167   0.979167  \n',
       'Recall Train                0.971429  0.980952   0.980952  \n',
       'Recall Test                 0.977778  0.977778   0.977778  \n',
       'Accuracy Train              0.971429  0.980952   0.980952  \n',
       'Accuracy Test               0.977778  0.977778   0.977778  \n',
       'F1 macro Train              0.971434  0.980952   0.980952  \n',
       'F1 macro Test               0.977692  0.977692   0.977692  '],
      'text/html': ['\n',
       '  <div id="df-68b58ff6-ea96-46b1-96ad-efd0a0acd8da" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-68b58ff6-ea96-46b1-96ad-efd0a0acd8da\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-68b58ff6-ea96-46b1-96ad-efd0a0acd8da button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-68b58ff6-ea96-46b1-96ad-efd0a0acd8da');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-023e787c-ed35-4a4c-87cb-fc816e3aefae">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-023e787c-ed35-4a4c-87cb-fc816e3aefae\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-023e787c-ed35-4a4c-87cb-fc816e3aefae button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 145}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'EvDgB1uo_4_H'},
   'source': ['It appears that hyperparameter tuning did not improve the performance of the SVM model on the test set. The precision, recall, accuracy and F1 scores on the test set are same for both tuned and untuned SVM models.']},
  {'cell_type': 'markdown',
   'metadata': {'id': '2CnsMkMiM-8g'},
   'source': ['### ML Model - 5 : Xtreme Gradient Boosting']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'ENIrhtBEM-8g'},
   'outputs': [],
   'source': ['# ML Model - 5 Implementation\n',
    'xgb_model = xgb.XGBClassifier()\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'axoYmkZZM-8g'},
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."]},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'guHO5uEVM-8g',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'd33b3eac-7bcd-43e4-9e90-3f3a9b8d0283'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABr4UlEQVR4nO3deVwV9f7H8fcB5AgiCLggue/7kpq55HIjUcvculZqoVkuuaRkGd1MNIv2zDK9aaWZlm1aaWlqLplLrmmLu2YlLrmgiALC/P7o57keQQXO4cxheD0fj3lcz8ycmc/AiXnfz/nOjM0wDEMAAAAAAAAe4GN2AQAAAAAAoPCgEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAcvq16+fKlWqZHYZbnX06FHdddddCg8Pl81m06RJk9y+D5vNpvj4eLdvt6Cy4ucIAFC4kSc8jzwBOKMRAY+z2Ww5mlauXGl2qdk6evSoRo8erVq1aikwMFDFihVTkyZNNHHiRJ0+fTpf9z1q1CgtWbJEcXFxmj17tjp27Jiv+/Ok+Ph42Ww2+fj46I8//siy/MyZMwoICJDNZtOwYcNyvf2UlBTFx8d77ecKAOA+nswaeT2/kCfyB3kCKBj8zC4Ahc/s2bOdXr///vtaunRplvm1a9d2aT/Tp09XZmamS9u40saNG9W5c2clJyerb9++atKkiSRp06ZNev7557V69Wp9++23bt3n5b777jt17dpVo0ePzrd9nD9/Xn5+5v1psNvt+vDDD/X44487zf/8889d2m5KSorGjx8vSWrXrl2O35cfnyMAQP7yVNaQ8nZ+IU/kP/IE4N1oRMDj+vbt6/R6/fr1Wrp0aZb5V0pJSVFgYGCO91OkSJE81Xc1p0+fVvfu3eXr66utW7eqVq1aTsufffZZTZ8+3a37vNKxY8dUokSJfN1H0aJF83X719O5c+dsg8PcuXN1++2367PPPvNIHefOnVOxYsXc/jkCAOS/vGYNTyBPeAZ5AvBuXJoBr9SuXTvVq1dPmzdvVps2bRQYGKgnn3xSkvTFF1/o9ttvV2RkpOx2u6pWrapnnnlGGRkZTtu48lq8gwcPymaz6eWXX9bbb7+tqlWrym63q1mzZtq4ceN1a/rvf/+rv/76S6+++mqW0CBJZcqU0VNPPeU076233lLdunVlt9sVGRmpoUOHZhlueelYf/31V7Vv316BgYG64YYb9OKLLzrWmTlzpmw2mwzD0JQpUxxDSqX/DUG80qX3HDx40DFv06ZNio6OVsmSJRUQEKDKlSvrgQcecHpfdtd0bt26VZ06dVJwcLCCgoJ06623av369dnu74cfflBsbKxKlSqlYsWKqXv37jp+/PhVf65X6t27t7Zt26adO3c65h05ckTfffedevfunWX9tLQ0Pf3002rSpIlCQkJUrFgx3XLLLVqxYoVjnYMHD6pUqVKSpPHjxzt+fpeOs1+/fgoKCtK+ffvUuXNnFS9eXH369HEsu/xzNG7cOPn4+Gj58uVOdQwcOFD+/v766aefcnysAADzZGZmatKkSapbt66KFi2qMmXKaNCgQTp16pTTetc6d17v/JId8gR5QiJPAIyIgNc6ceKEOnXqpHvuuUd9+/ZVmTJlJP1zggoKClJsbKyCgoL03Xff6emnn9aZM2f00ksvXXe7c+fO1dmzZzVo0CDZbDa9+OKL6tGjh/bv33/NbvWXX36pgIAA3XXXXTmqPz4+XuPHj1dUVJSGDBmiXbt2aerUqdq4caN++OEHp32dOnVKHTt2VI8ePdSrVy99+umnGjNmjOrXr69OnTqpTZs2mj17tu677z7ddtttuv/++3NUw+WOHTumDh06qFSpUnriiSdUokQJHTx48LpDFH/55RfdcsstCg4O1uOPP64iRYrov//9r9q1a6dVq1apefPmTusPHz5coaGhGjdunA4ePKhJkyZp2LBhmjdvXo7qbNOmjcqVK6e5c+dqwoQJkqR58+YpKChIt99+e5b1z5w5oxkzZujee+/VQw89pLNnz+qdd95RdHS0fvzxRzVq1EilSpXS1KlTNWTIEHXv3l09evSQJDVo0MCxnYsXLyo6OlqtW7fWyy+/fNXRN0899ZS++uorDRgwQDt27FDx4sW1ZMkSTZ8+Xc8884waNmyYo+MEAJhr0KBBmjlzpvr3768RI0bowIEDevPNN7V161bHefp6586cnF+uRJ4gT0jkCUAGYLKhQ4caV34U27Zta0gypk2blmX9lJSULPMGDRpkBAYGGhcuXHDMi4mJMSpWrOh4feDAAUOSER4ebpw8edIx/4svvjAkGV999dU16wwNDTUaNmyYo2M6duyY4e/vb3To0MHIyMhwzH/zzTcNSca7777rmHfpWN9//33HvNTUVCMiIsLo2bOn03YlGUOHDnWaN27cuCw/P8MwjPfee8+QZBw4cMAwDMOYP3++IcnYuHHjNWuXZIwbN87xulu3boa/v7+xb98+x7zDhw8bxYsXN9q0aZNlf1FRUUZmZqZj/qhRowxfX1/j9OnT19zvpeM4fvy4MXr0aKNatWqOZc2aNTP69++f7c/g4sWLRmpqqtO2Tp06ZZQpU8Z44IEHHPOOHz+e5dguiYmJMSQZTzzxRLbLLv8cGYZh7Nixw/D39zcefPBB49SpU8YNN9xgNG3a1EhPT7/mMQIAzHFl1vj+++8NScacOXOc1lu8eLHT/JycO691fskOeYI8cQl5AoUZl2bAa9ntdvXv3z/L/ICAAMe/z549q7///lu33HKLUlJSnIbfXc3dd9+t0NBQx+tbbrlFkrR///5rvu/MmTMqXrx4jmpftmyZ0tLSNHLkSPn4/O8/s4ceekjBwcFatGiR0/pBQUFO1636+/vrpptuum5NuXHpWtCFCxcqPT09R+/JyMjQt99+q27duqlKlSqO+WXLllXv3r21Zs0anTlzxuk9AwcOdBraecsttygjI0O///57jmvt3bu39u7dq40bNzr+N7thlJLk6+srf39/Sf8Msz158qQuXryopk2basuWLTnepyQNGTIkR+vVq1dP48eP14wZMxQdHa2///5bs2bNMvWmXACAnPvkk08UEhKi2267TX///bdjatKkiYKCghzD8fNy7rwe8gR54hLyBAozGhHwWjfccIPjhHC5X375Rd27d1dISIiCg4NVqlQpx0k3KSnpututUKGC0+tLTYkrrwm9UnBwsM6ePZuj2i+dJGvWrOk039/fX1WqVMlyEi1XrlyW6zJDQ0OvW1NutG3bVj179tT48eNVsmRJde3aVe+9955SU1Ov+p7jx48rJSUly3FI/9xpPDMzM8ujsfL6871c48aNVatWLc2dO1dz5sxRRESE/vWvf111/VmzZqlBgwYqWrSowsPDVapUKS1atChHn4dL/Pz8VK5cuRyv/9hjj6lhw4b68ccfNW7cONWpUyfH7wUAmGvPnj1KSkpS6dKlVapUKacpOTlZx44dk5S3c+f1kCeckSfIEyicaLfBa10+8uGS06dPq23btgoODtaECRNUtWpVFS1aVFu2bNGYMWNy9FgkX1/fbOcbhnHN99WqVUvbtm1TWlpatg0SV+S1JknZ3lhKUpabd9psNn366adav369vvrqKy1ZskQPPPCAXnnlFa1fv15BQUG5LzwbrhzL5Xr37q2pU6eqePHiuvvuu52+CbrcBx98oH79+qlbt2567LHHVLp0afn6+iohIUH79u3L8f7sdvtV95Gd/fv3a8+ePZKkHTt25Ph9AADzZWZmqnTp0pozZ062yy/dkDA/zp3kiZwhTwDWxogIFCgrV67UiRMnNHPmTD3yyCO64447FBUV5XSpRX7p0qWLzp8/n6PHPVWsWFGStGvXLqf5aWlpOnDggGO5O1w69ivvnn21oYs333yznn32WW3atElz5szRL7/8oo8++ijbdUuVKqXAwMAsxyFJO3fulI+Pj8qXL+/aAVxF7969lZiYqN27d191GKUkffrpp6pSpYo+//xz3XfffYqOjlZUVJQuXLjgtN7VAlZeZGZmql+/fgoODtaTTz6pDz/80OXnkgMAPKdq1ao6ceKEWrVqpaioqCzTlTcKvNa5M7fnF/KEM/IEeQKFE40IFCiXuuOXd8PT0tL01ltv5fu+Bw8erLJly+rRRx/V7t27syw/duyYJk6cKEmKioqSv7+/Jk+e7FTrO++8o6SkpGzv1pxXVatWlSStXr3aMe/cuXOaNWuW03qnTp3K8i1Co0aNJOmqwyl9fX3VoUMHffHFF06P7Tp69Kjmzp2r1q1bKzg42A1HkVXVqlU1adIkJSQk6Kabbrrqetl9JjZs2KB169Y5rXfprtVXBqy8ePXVV7V27Vq9/fbbeuaZZ9SyZUsNGTJEf//9t8vbBgDkv169eikjI0PPPPNMlmUXL150nCtycu7M7fmFPHHQMZ88QZ5A4cWlGShQWrZsqdDQUMXExGjEiBGy2WyaPXt2rofp5UVoaKjmz5+vzp07q1GjRurbt6+aNGkiSdqyZYs+/PBDtWjRQtI/nf+4uDiNHz9eHTt21J133qldu3bprbfeUrNmzZxuJOWqDh06qEKFChowYIAee+wx+fr66t1331WpUqV06NAhx3qzZs3SW2+9pe7du6tq1ao6e/aspk+fruDgYHXu3Pmq2584caKWLl2q1q1b6+GHH5afn5/++9//KjU11enZ5PnhkUceue46d9xxhz7//HN1795dt99+uw4cOKBp06apTp06Sk5OdqwXEBCgOnXqaN68eapRo4bCwsJUr1491atXL1c1/fbbbxo7dqz69eunLl26SPrnkbKNGjXSww8/rI8//jh3BwkA8Li2bdtq0KBBSkhI0LZt29ShQwcVKVJEe/bs0SeffKLXX39dd911V47Onbk9v5AnyBMSeQLg8Z0w3dUe31m3bt1s1//hhx+Mm2++2QgICDAiIyONxx9/3FiyZIkhyVixYoVjvas9vvOll17Ksk3l4rFbhw8fNkaNGmXUqFHDKFq0qBEYGGg0adLEePbZZ42kpCSndd98802jVq1aRpEiRYwyZcoYQ4YMMU6dOpWjY83uMU/K5nFbhmEYmzdvNpo3b274+/sbFSpUMF599dUsj9vasmWLce+99xoVKlQw7Ha7Ubp0aeOOO+4wNm3adN2fxZYtW4zo6GgjKCjICAwMNNq3b2+sXbvWaZ1L+7vycV4rVqzI8rvJzuWP27qWK38GmZmZxnPPPWdUrFjRsNvtRuPGjY2FCxdm+/Nbu3at0aRJE8Pf39/pOGNiYoxixYplu7/Lt3Px4kWjWbNmRrly5bI8Puz11183JBnz5s27Zv0AAM/LLmsYhmG8/fbbRpMmTYyAgACjePHiRv369Y3HH3/cOHz4sGEYOT93Xu38ci3kCfIEeQKFmc0wPPBVMgAAAAAAgLhHBAAAAAAA8CAaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACP8TO7gPwwq5klDwt5ELPqiNklAPBGgSXzdfPxtYq49v6d6W6qBO7i6u8U1hG/JdHsEgB4Iy/OFt6YKxgRAQAAAAAAPIahAwAAuJnN7AIAAIClWC1b0IgAAMDNbFZLCwAAwFRWyxY0IgAAcDOuewQAAO5ktWxBIwIAADez2rcWAADAXFbLFjQiAABwM4tlBQAAYDKrZQsaEQAAuJnVvrUAAADmslq2sNqlJgAAAAAAwIsxIgIAADejyw8AANzJatmCRgQAAG5mteGTAADAXFbLFjQiAABwM4tlBQAAYDKrZQurjfAAAMB0NptrU05NnTpVDRo0UHBwsIKDg9WiRQt98803juXt2rWTzWZzmgYPHpwPRwwAAPKTJ3KFJzEiAgAAN/PUOb9cuXJ6/vnnVb16dRmGoVmzZqlr167aunWr6tatK0l66KGHNGHCBMd7AgMDPVQdAABwFy/tJ+QZIyIAACigunTpos6dO6t69eqqUaOGnn32WQUFBWn9+vWOdQIDAxUREeGYgoODTawYAAB4u9WrV6tLly6KjIyUzWbTggULsqzz22+/6c4771RISIiKFSumZs2a6dChQzneB40IAADczMfm2pQXGRkZ+uijj3Tu3Dm1aNHCMX/OnDkqWbKk6tWrp7i4OKWkpLjpKAEAgKd4MlecO3dODRs21JQpU7Jdvm/fPrVu3Vq1atXSypUrtX37do0dO1ZFixbN8T64NAMAADdzdfhkamqqUlNTnebZ7XbZ7fYs6+7YsUMtWrTQhQsXFBQUpPnz56tOnTqSpN69e6tixYqKjIzU9u3bNWbMGO3atUuff/65ixUCAABP8uSlGZ06dVKnTp2uuvw///mPOnfurBdffNExr2rVqrnaByMiAABwM1dvVpmQkKCQkBCnKSEhIdt91axZU9u2bdOGDRs0ZMgQxcTE6Ndff5UkDRw4UNHR0apfv7769Omj999/X/Pnz9e+ffs8+eMAAAAuciVXpKam6syZM07TlV945FRmZqYWLVqkGjVqKDo6WqVLl1bz5s2zvXzjWmhEAADgZjYXp7i4OCUlJTlNcXFx2e7L399f1apVU5MmTZSQkKCGDRvq9ddfz3bd5s2bS5L27t3rtmMFAAD5z5VckZsvOK7n2LFjSk5O1vPPP6+OHTvq22+/Vffu3dWjRw+tWrUqx9vh0gwAANzMx2a49P6rXYaRE5mZmVf9lmPbtm2SpLJly+a1NAAAYAJXskVcXJxiY2Od5rmSMySpa9euGjVqlCSpUaNGWrt2raZNm6a2bdvmaDs0IgAAKKDi4uLUqVMnVahQQWfPntXcuXO1cuVKLVmyRPv27dPcuXPVuXNnhYeHa/v27Ro1apTatGmjBg0amF06AADwEFe+4LhSyZIl5efn57gf1SW1a9fWmjVrcrwdGhEAALiZp24odezYMd1///1KTExUSEiIGjRooCVLlui2227TH3/8oWXLlmnSpEk6d+6cypcvr549e+qpp57yUHUAAMBdPHmzymvx9/dXs2bNtGvXLqf5u3fvVsWKFXO8HRoRAAC4mafCwjvvvHPVZeXLl8/VtZoAAMB7ebIRkZyc7HQ/qQMHDmjbtm0KCwtThQoV9Nhjj+nuu+9WmzZt1L59ey1evFhfffWVVq5cmeN9eM3NKr///nv17dtXLVq00F9//SVJmj17dq6GdwAA4A1cfWoG3INsAQCwCk/mik2bNqlx48Zq3LixJCk2NlaNGzfW008/LUnq3r27pk2bphdffFH169fXjBkz9Nlnn6l169Y53odXNCI+++wzRUdHKyAgQFu3bnXcZCspKUnPPfecydUBAJA7rj41A64jWwAArMSTuaJdu3YyDCPLNHPmTMc6DzzwgPbs2aPz589r27Zt6tq1a6724RWNiIkTJ2ratGmaPn26ihQp4pjfqlUrbdmyxcTKAADIPR+baxNcR7YAAFiJ1XKFV9wjYteuXWrTpk2W+SEhITp9+rTnCwIAwAVees4vVMgWAAArsVq28IoREREREU43w7hkzZo1qlKligkVAQCAgoxsAQCA9/KKRsRDDz2kRx55RBs2bJDNZtPhw4c1Z84cjR49WkOGDDG7PAAAcoWbVZqPbAEAsBKr5QqvuDTjiSeeUGZmpm699ValpKSoTZs2stvtGj16tIYPH252eQAA5IqXnvMLFbIFAMBKrJYtbIZhGGYXcUlaWpr27t2r5ORk1alTR0FBQXnazqxmXtFfgReIWXXE7BIAeKPAkvm6+feaunYe6r/popsqgbuyRXytItdfCYVC/JZEs0sA4I28OFt4Y67wikszPvjgA6WkpMjf31916tTRTTfdlOegAACA2Xh8p/nIFgAAK7FarvCKRsSoUaNUunRp9e7dW19//bUyMjLMLgkAgDzjHhHmI1sAAKzEarnCKxoRiYmJ+uijj2Sz2dSrVy+VLVtWQ4cO1dq1a80uDQAAFEBkCwAAvJdXNCL8/Px0xx13aM6cOTp27Jhee+01HTx4UO3bt1fVqlXNLg8AgFzh0gzzkS0AAFZitVzhdXd1DAwMVHR0tE6dOqXff/9dv/32m9klAQCQK946DLKwIlsAAAo6q2ULrxgRIUkpKSmaM2eOOnfurBtuuEGTJk1S9+7d9csvv5hdGgAAueLj4gT3IFsAAKzCarnCK0ZE3HPPPVq4cKECAwPVq1cvjR07Vi1atDC7LAAA8sRq31oURGQLAICVWC1beEUjwtfXVx9//LGio6Pl6+trdjkAALjEYlmhQCJbAACsxGrZwisaEXPmzDG7BAAAYCFkCwAAvJdpjYjJkydr4MCBKlq0qCZPnnzNdUeMGOGhqgAAcJ2P1b62KCDIFgAAq7JatrAZhmGYsePKlStr06ZNCg8PV+XKla+6ns1m0/79+3O17VnNvGKgB7xAzKojZpcAwBsFlszXzX98s2vnoV7rL7qpksIlP7NFfK0irpYHi4jfkmh2CQC8kRdnC2/MFab9P/YDBw5k+28AAAo6q31rUVCQLQAAVmW1bOEVT/OYMGGCUlJSssw/f/68JkyYYEJFAADkHY/vNB/ZAgBgJVbLFV5R1/jx45WcnJxlfkpKisaPH29CRQAA5J3N5toE15EtAABWYrVc4RU3UzAMQ7ZsfkI//fSTwsLCTKioYKjZc5Bq9BykoLKVJEmn9/+q7e9M1F9rF0uSbo57S5E33aqAkpG6eD5Zx7av0+Y34nTm910mVg1PmzPvM70za66OnzipWjWqaeyYUWpQr47ZZcEEfBZQmJAt8qZi09ZqOeBRRda9UcVLR+qjoT21c/mXjuXxO9Ozfd+3L47R2ndf9VSZMBHnElyOzwPyytQREaGhoQoLC5PNZlONGjUUFhbmmEJCQnTbbbepV69eZpbo1c4d+0tb3vyPFt5/kxbFNNeRTSvU/uXPVaLKP//xn9i5RT9MeFALetXT0uGdZbPZdNub38jm4xUDYeABXy9ZpoRX3tDQQQ9o/tx3VatGNQ14OFYnTp4yuzR4GJ8Fz+LSDPOQLVxTJKCYju7crkUTsn+qyMutyzlNC558UEZmpn77dr6HK4UZOJfgcnwePMtqucK0p2ZI0qxZs2QYhh544AFNmjRJISEhjmX+/v6qVKmSWrRokfvtFuKnZtyz7Jg2TR6jvV++l2VZaLX6uvPDrfq8Ww2d/St3dwsvqAr7UzP+fd9Dql+3lp5+4lFJUmZmptp27K777rlLAx+4z+Tq4El8Fq6Qz3e2/rKVa+ehO3/wvrtbFxT5lS0K41Mz4nemZxkRcaV73vxU/sWK6/3+0R6szFyF+akZnEtwOT4PV/DibOGNucLU/8ceExMj6Z/HbbVs2VJFihS+k7y72Hx8VPHWu+QXUEzHd6zPstyvaKCqdemns3/t17mjf5hQITwtLT1dv/y2S4MuOxH4+PioZfOm2rr9ZxMrg6fxWfA8H5tpPf5Cj2zhOcXCS6t6285aEPeA2aXAAziX4HJ8HjzPatnCK4YOtG3b1vHvCxcuKC0tzWl5cHCwp0sqMEpUrafO766Rr39RXTyfrBWP3aWkA785lte8a7CaDH9eRQKDlHRwp5YO7ajMi9lf3wlrOXXqtDIyMhR+xbXQ4eFh2n/wkElVwQx8FjzPW4dBFiZki/zXqNt9Sjt3lssyCgnOJbgcnwfPs1q28IrjSUlJ0bBhw1S6dGkVK1ZMoaGhTtO1pKam6syZM05Teqa1ukXXcub3XfqqTxMt6t9Suz77r1rHv6uQyrUdy/d/M1df9W2qxQPb68yhPWqb8KF8/O0mVgwA1sdTM8zn7mxxsRBli5xq3LOfti/8UBfTUs0uBQAsz5O5YvXq1erSpYsiIyNls9m0YMGCq647ePBg2Ww2TZo0KVf78IpGxGOPPabvvvtOU6dOld1u14wZMzR+/HhFRkbq/fffv+Z7ExISFBIS4jQtTCw8YSHzYrrO/rlPJ3du0ZYp/9HJPdtV+57hjuXp587o7B97dXTr91o5ppeCK9VSxXbdzCsYHhMaWkK+vr46cfKk0/wTJ06qZDh3jC9M+Cx4HjerNJ+7s8Wak5keqrxgqNCklUpWqaUtn7xrdinwEM4luByfB8/zZK44d+6cGjZsqClTplxzvfnz52v9+vWKjIzM9T68Iu989dVXeuutt9SzZ0/5+fnplltu0VNPPaXnnntOc+bMueZ74+LilJSU5DTdUbbwfp1ks/nI92ojHmw22Ww2RkQUEv5Fiqhu7Zpat2GTY15mZqbW/bhZjRvUM7EyeBqfBRRG7s4WrcO8IjJ5jRvvekCHf96so7u2m10KPIRzCS7H58HaOnXqpIkTJ6p79+5XXeevv/7S8OHDNWfOnDzdj8krzqonT55UlSpVJP1zzebJ/++stW7dWqtXr77me+12u4KDg52mIj6FoxFx49BnVabxLSpWtqJKVK2nG4c+q4gmbbX/mw8VdENl1es3RmG1blSxMuVVqkELtXt+ni5eOK+/fvjG7NLhIf373q2P53+l+V9+rX37Dyr+uZd1/vwF9eh6u9mlwcP4LHiWpy7NmDp1qho0aOA4/7Vo0ULffPO/v/EXLlzQ0KFDFR4erqCgIPXs2VNHjx7NhyP2Pu7OFn6FJFv4BxZTRK2GiqjVUJJUolxlRdRqqJCy5R3r2IsVV53onoyGKIQ4l+ByfB48y5Vckd0lh6mpeb+sLjMzU/fdd58ee+wx1a1bN0/b8IqbVVapUkUHDhxQhQoVVKtWLX388ce66aab9NVXX6lEiRJml+e1ioaWUuv49xRQsqzSkpN0au8OLR3eWYk/LlNAybIq06i16twzQv7Bobpw8qiObv1e3zx4iy6cOm526fCQztFROnnqtCZPnaHjJ06qds3qmjHlFYbMFUJ8FjzLU13+cuXK6fnnn1f16tVlGIZmzZqlrl27auvWrapbt65GjRqlRYsW6ZNPPlFISIiGDRumHj166IcffvBQheYhW+RNZL0m6vf+csfrjnEvS5K2zX9fC+IGSJLq3X63bDabdiz6yJQaYR7OJbgcnwfPciVbJCQkaPz48U7zxo0bp/j4+Dxt74UXXpCfn59GjBiR55pshmGYfkOF1157Tb6+vhoxYoSWLVumLl26yDAMpaen69VXX9UjjzySq+3NauYV/RV4gZhVR8wuAYA3yudnfX/X1tel9/9rVUae3xsWFqaXXnpJd911l0qVKqW5c+fqrrvukiTt3LlTtWvX1rp163TzzTe7VKO3c3e2iK/FY0Dxj/gtiWaXAMAbeXG2aPVtSpYREHa7XXb79S/Zt9lsmj9/vrp16yZJ2rx5s26//XZt2bLFcW+ISpUqaeTIkRo5cmSOa/KK/8c+atQox7+joqK0c+dObd68WdWqVVODBg1MrAwAgNwz48kXGRkZ+uSTT3Tu3Dm1aNFCmzdvVnp6uqKiohzr1KpVSxUqVCgUjQiyBQDASlzJFjltOuTE999/r2PHjqlChQqOeRkZGXr00Uc1adIkHTx4MEfb8YpGxJUqVqyoihUrml0GAAB54uqlGampqTn+5mLHjh1q0aKFLly4oKCgIM2fP1916tTRtm3b5O/vn+UyhDJlyujIkcI3WoxsAQAoyLzi5o6S7rvvPqcvOSQpOjpa9913n/r375/j7XhFI2Ly5MnZzrfZbCpatKiqVaumNm3ayNfXtaGuAAAUBLm5lrNmzZratm2bkpKS9OmnnyomJkarVq3yUKXei2wBAEDeJCcna+/evY7XBw4c0LZt2xQWFqYKFSooPDzcaf0iRYooIiJCNWvWzPE+vKIR8dprr+n48eNKSUlRaGioJOnUqVMKDAxUUFCQjh07pipVqmjFihUqX778dbYGAIC5XL00Iy4uTrGxsU7zrjak0t/fX9WqVZMkNWnSRBs3btTrr7+uu+++W2lpaTp9+rTTqIijR48qIiLCtQILALIFAMBKPHnZ56ZNm9S+fXvH60uZJCYmRjNnznTLPrxihMdzzz2nZs2aac+ePTpx4oROnDih3bt3q3nz5nr99dd16NAhRUREOF3vCQCAt/Jxccru8ZE5vbYzMzNTqampatKkiYoUKaLly//3BIRdu3bp0KFDatGihbsO1WuRLQAAVuJKrsitdu3ayTCMLNPVmhAHDx7M1Y0qJS8ZEfHUU0/ps88+U9WqVR3zqlWrppdfflk9e/bU/v379eKLL6pnz54mVgkAQM74eOhbi7i4OHXq1EkVKlTQ2bNnNXfuXK1cuVJLlixRSEiIBgwYoNjYWIWFhSk4OFjDhw9XixYtLH+jSolsAQCwFk9lC0/xikZEYmKiLl68mGX+xYsXHTfUioyM1NmzZz1dGgAAueaprHDs2DHdf//9SkxMVEhIiBo0aKAlS5botttuk/TP5Qk+Pj7q2bOnUlNTFR0drbfeestD1ZmLbAEAsBKL9SG8oxHRvn17DRo0SDNmzFDjxo0lSVu3btWQIUP0r3/9S9I/dwWvXLmymWUCAJAjnvrW4p133rnm8qJFi2rKlCmaMmWKZwryImQLAICVWG1EhFfcI+Kdd95RWFiYmjRp4ng8WdOmTRUWFuYIWUFBQXrllVdMrhQAABQEZAsAALyXV4yIiIiI0NKlS7Vz507t3r1b0j+PI7v88R+X37UTAABvZrEvLQoksgUAwEqsli28ohFxSZUqVWSz2VS1alX5+XlVaQAA5JjVhk8WZGQLAIAVWC1beMWlGSkpKRowYIACAwNVt25dHTp0SJI0fPhwPf/88yZXBwBA7vjYDJcmuI5sAQCwEqvlCq9oRMTFxemnn37SypUrVbRoUcf8qKgozZs3z8TKAADIPZuLE1xHtgAAWInVcoVXjFFcsGCB5s2bp5tvvlk22/9+VHXr1tW+fftMrAwAgNyz2vDJgohsAQCwEqtlC69oRBw/flylS5fOMv/cuXNO4QEAgIKAM5f5yBYAACux2pnLKy7NaNq0qRYtWuR4fSkgzJgxQy1atDCrLAAAUECRLQAA8F5eMSLiueeeU6dOnfTrr7/q4sWLev311/Xrr79q7dq1WrVqldnlAQCQK1YbPlkQkS0AAFZitWzhFSMiWrdurW3btunixYuqX7++vv32W5UuXVrr1q1TkyZNzC4PAIBc8XFxguvIFgAAK7FarvCKERGSVLVqVU2fPt3sMgAAcBm3IPAOZAsAgFVYLVuY2ojw8fG57g2jbDabLl686KGKAABwndWGTxYkZAsAgBVZLVuY2oiYP3/+VZetW7dOkydPVmZmpgcrAgDAdRbLCgUK2QIAYEVWyxamNiK6du2aZd6uXbv0xBNP6KuvvlKfPn00YcIEEyoDAAAFEdkCAADv5zX3rjh8+LAeeugh1a9fXxcvXtS2bds0a9YsVaxY0ezSAADIFZvN5tIE9yBbAACswmq5wvRGRFJSksaMGaNq1arpl19+0fLly/XVV1+pXr16ZpcGAECe2GyuTXAN2QIAYDVWyxWmXprx4osv6oUXXlBERIQ+/PDDbIdTAgBQ4HjrWb8QIFsAACzJYtnCZhiGYdbOfXx8FBAQoKioKPn6+l51vc8//zxX253VzGueSgqTxaw6YnYJALxRYMl83fy+Lq6dh6p+xRMd8iq/skV8rSKulgaLiN+SaHYJALyRF2cLb8wVpv4/9vvvv99rr1kBACCvOLeZh2wBALAiq53bTG1EzJw508zdAwAAiyFbAADg/biGAQAAN7PatxYAAMBcVssWpj81AwAAy/FxcQIAALicB3PF6tWr1aVLF0VGRspms2nBggWOZenp6RozZozq16+vYsWKKTIyUvfff78OHz6c68MBAABu5Mqzvq32jQcAAHCdJ3PFuXPn1LBhQ02ZMiXLspSUFG3ZskVjx47Vli1b9Pnnn2vXrl268847c7UPLs0AAMDN6CUAAAB38mS26NSpkzp16pTtspCQEC1dutRp3ptvvqmbbrpJhw4dUoUKFXK0DxoRAAC4GaMaAACAO3lztkhKSpLNZlOJEiVy/B4aEQAAAAAAWFRqaqpSU1Od5tntdtntdpe3feHCBY0ZM0b33nuvgoODc/w+7hEBAIC72VycAAAALudCrkhISFBISIjTlJCQ4HJJ6enp6tWrlwzD0NSpU3P1XkZEAADgZt48fBIAABQ8rmSLuLg4xcbGOs1zdTTEpSbE77//ru+++y5XoyEkGhEAALgdfQgAAOBOrmQLd12GccmlJsSePXu0YsUKhYeH53obNCIAAHAzRkQAAAB38mS2SE5O1t69ex2vDxw4oG3btiksLExly5bVXXfdpS1btmjhwoXKyMjQkSNHJElhYWHy9/fP0T5oRAAA4G40IgAAgDt5MFts2rRJ7du3d7y+dFlHTEyM4uPj9eWXX0qSGjVq5PS+FStWqF27djnaBzerBADAzWw216acSkhIULNmzVS8eHGVLl1a3bp1065du5zWadeunWw2m9M0ePBgNx8xAADIT57IFZe0a9dOhmFkmWbOnKlKlSplu8wwjBw3ISQaEQAAFFirVq3S0KFDtX79ei1dulTp6enq0KGDzp0757TeQw89pMTERMf04osvmlQxAAAAl2YAAOB2nrqOc/HixU6vZ86cqdKlS2vz5s1q06aNY35gYKAiIiI8UhMAAHA/q91/ihERAAC4mauXZqSmpurMmTNOU2pq6nX3m5SUJOmfm0Vdbs6cOSpZsqTq1aunuLg4paSk5MtxAwCA/OHJSzM8gUYEAADu5mInIiEhQSEhIU5TQkLCNXeZmZmpkSNHqlWrVqpXr55jfu/evfXBBx9oxYoViouL0+zZs9W3b9/8/gkAAAB3slgngkszAABwM1fP+XFxcY47VF9yved/Dx06VD///LPWrFnjNH/gwIGOf9evX19ly5bVrbfeqn379qlq1aquFQoAADzCS/sJeUYjAgAAN3P1Ok673X7dxsPlhg0bpoULF2r16tUqV67cNddt3ry5JGnv3r00IgAAKCCsdo8ISzYiYlYdMbsEeIn4G8uaXQK8SPyWRLNLANzKMAwNHz5c8+fP18qVK1W5cuXrvmfbtm2SpLJl+fuYG/z9wCWHYq7d7EPhUeHtX80uAd4ksKTZFRQolmxEAABgJk99azF06FDNnTtXX3zxhYoXL64jR/5pxIeEhCggIED79u3T3Llz1blzZ4WHh2v79u0aNWqU2rRpowYNGnikRgAA4DpGRAAAgGvyVFaYOnWqJKldu3ZO89977z3169dP/v7+WrZsmSZNmqRz586pfPny6tmzp5566inPFAgAANzCYn0IGhEAALidh9KCYRjXXF6+fHmtWrXKI7UAAIB8ZLFOBI0IAADczGJZAQAAmMxq2YJGBAAAbma16zgBAIC5rJYtfMwuAAAAAAAAFB6MiAAAwM0s9qUFAAAwmdWyBY0IAADczWppAQAAmMti2YJGBAAAbma16zgBAIC5rJYtaEQAAOBmFssKAADAZFbLFjQiAABwM6t9awEAAMxltWxBIwIAAHezVlYAAABms1i24PGdAAAAAADAYxgRAQCAm9l86PMDAAD3sVq2oBEBAIC7Wew6TgAAYDKLZYscNSK2b9+e4w02aNAgz8UAAGAJFgsL+YFsAQBALlgsW+SoEdGoUSPZbDYZhpHt8kvLbDabMjIy3FogAAAFjc1mreGT+YFsAQBAzlktW+SoEXHgwIH8rgMAAOuw2LcW+YFsAQBALlgsW+SoEVGxYsX8rgMAABQiZAsAALzT6tWr9dJLL2nz5s1KTEzU/Pnz1a1bN8dywzA0btw4TZ8+XadPn1arVq00depUVa9ePcf7yNP4jtmzZ6tVq1aKjIzU77//LkmaNGmSvvjii7xsDgAAa7HZXJsKIbIFAADX4MFcce7cOTVs2FBTpkzJdvmLL76oyZMna9q0adqwYYOKFSum6OhoXbhwIcf7yHUjYurUqYqNjVXnzp11+vRpx3WbJUqU0KRJk3K7OQAALMdms7k0FTZkCwAArs2TuaJTp06aOHGiunfvnmWZYRiaNGmSnnrqKXXt2lUNGjTQ+++/r8OHD2vBggU53keuGxFvvPGGpk+frv/85z/y9fV1zG/atKl27NiR280BAGA9Nh/XpkKGbAEAwHV4Sa44cOCAjhw5oqioKMe8kJAQNW/eXOvWrcvxdnJ0j4grd9y4ceMs8+12u86dO5fbzQEAYDk2n8I3qsEVZAsAAK7NlWyRmpqq1NRUp3l2u112uz3X2zpy5IgkqUyZMk7zy5Qp41iWE7luj1SuXFnbtm3LMn/x4sWqXbt2bjcHAID1cI+IXCFbAABwHS7kioSEBIWEhDhNCQkJph5OrkdExMbGaujQobpw4YIMw9CPP/6oDz/8UAkJCZoxY0Z+1AgAACyMbAEAQP6Ji4tTbGys07y8jIaQpIiICEnS0aNHVbZsWcf8o0ePqlGjRjneTq4bEQ8++KACAgL01FNPKSUlRb1791ZkZKRef/113XPPPbndHAAA1lMI7/PgCrIFAADX4UK2yOtlGNmpXLmyIiIitHz5ckfj4cyZM9qwYYOGDBmS4+3kuhEhSX369FGfPn2UkpKi5ORklS5dOi+bcfL999/rv//9r/bt26dPP/1UN9xwg2bPnq3KlSurdevWLm8fAABPKYxPvnAV2QIAgKvzZLZITk7W3r17Ha8PHDigbdu2KSwsTBUqVNDIkSM1ceJEVa9eXZUrV9bYsWMVGRmpbt265XgfeW6rHDt2TJs3b9auXbt0/PjxvG5GkvTZZ58pOjpaAQEB2rp1q+NGGklJSXruuedc2jYAAB7HPSLyhGwBAMBVeDBXbNq0SY0bN3bcSDo2NlaNGzfW008/LUl6/PHHNXz4cA0cOFDNmjVTcnKyFi9erKJFi+Z4H7luRJw9e1b33XefIiMj1bZtW7Vt21aRkZHq27evkpKScrs5SdLEiRM1bdo0TZ8+XUWKFHHMb9WqlbZs2ZKnbQIAYBoaEblCtgAA4Do8mCvatWsnwzCyTDNnzvz/UmyaMGGCjhw5ogsXLmjZsmWqUaNGrvaR60bEgw8+qA0bNmjRokU6ffq0Tp8+rYULF2rTpk0aNGhQbjcnSdq1a5fatGmTZX5ISIhOnz6dp20CAGAWm83HpamwIVsAAHBtVssVub5HxMKFC7VkyRKnayujo6M1ffp0dezYMU9FREREaO/evapUqZLT/DVr1qhKlSp52iYAACgYyBYAABQuuW6PhIeHKyQkJMv8kJAQhYaG5qmIhx56SI888og2bNggm82mw4cPa86cORo9enSu7rwJAIBX4NKMXCFbAABwHRbLFbkeEfHUU08pNjZWs2fPdjxD9MiRI3rsscc0duzYPBXxxBNPKDMzU7feeqtSUlLUpk0b2e12jR49WsOHD8/TNgEAMIvNxztP+t6KbAEAwLVZLVvYDMMwrrdS48aNnR4XsmfPHqWmpqpChQqSpEOHDslut6t69eou3QAqLS1Ne/fuVXJysurUqaOgoKC8bSjl7zzXAGuJv7Gs2SXAi8RvSTS7BHiLwJL5uvnUcfVcer99/M85Wi8hIUGff/65du7cqYCAALVs2VIvvPCCatas6VjnwoULevTRR/XRRx8pNTVV0dHReuutt1SmTBmXanQV2QIF1aGYcmaXAC9R4e1fzS4B3iQ0fy/7cyVb5DRXeFKORkTk5nmgefHBBx+oR48eCgwMVJ06dfJ1XwAA5DsPDYNctWqVhg4dqmbNmunixYt68skn1aFDB/36668qVqyYJGnUqFFatGiRPvnkE4WEhGjYsGHq0aOHfvjhB4/UeDVkCwAAcsFLL7HIqxyNiMhvpUqV0vnz53XnnXeqb9++io6Olq+vb943yLcW+H+MiMDlGBEBh3weEZE2voFL7/cftz1P7zt+/LhKly6tVatWqU2bNkpKSlKpUqU0d+5c3XXXXZKknTt3qnbt2lq3bp1uvvlml+r0ZmQL5BdGROASRkTAST6PiHAlW+Q1V+Qnr3iWR2Jioj766CPZbDb16tVLZcuW1dChQ7V27VqzSwMAIPdcvFllamqqzpw54zSlpqZed7dJSUmSpLCwMEnS5s2blZ6erqioKMc6tWrVUoUKFbRu3br8OXYvQbYAAFiKxW5WmetGREZGhl5++WXddNNNioiIUFhYmNOUF35+frrjjjs0Z84cHTt2TK+99poOHjyo9u3bq2rVqnnaJgAABVVCQoJCQkKcpoSEhGu+JzMzUyNHjlSrVq1Ur94/15EeOXJE/v7+KlGihNO6ZcqU0ZEjR/Kr/FwjWwAAULjkuhExfvx4vfrqq7r77ruVlJSk2NhY9ejRQz4+PoqPj3e5oMDAQEVHR6tTp06qXr26Dh486PI2AQDwKJuPS1NcXJySkpKcpri4uGvucujQofr555/10Ucfeegg3YdsAQDAdbiSLbxQrquaM2eOpk+frkcffVR+fn669957NWPGDD399NNav359ngtJSUnRnDlz1LlzZ91www2aNGmSunfvrl9++SXP2wQAwAw2m82lyW63Kzg42Gmy2+1X3d+wYcO0cOFCrVixQuXK/e/69YiICKWlpen06dNO6x89etTxmExvQLYAAODaXMkV3ihHT8243JEjR1S/fn1JUlBQkON61DvuuCPPz/q+5557tHDhQgUGBqpXr14aO3asWrRokadtAQBgOg8969swDA0fPlzz58/XypUrVblyZaflTZo0UZEiRbR8+XL17NlTkrRr1y4dOnTIq86zZAsAAK7DQ9nCU3LdiChXrpwSExNVoUIFVa1aVd9++61uvPFGbdy48Zrf1lyLr6+vPv74Y9fvaA0AgBeweWgY5NChQzV37lx98cUXKl68uOO+DyEhIQoICFBISIgGDBig2NhYhYWFKTg4WMOHD1eLFi286okZZAsAAK7NU9nCU3LdiOjevbuWL1+u5s2ba/jw4erbt6/eeecdHTp0SKNGjcpTEXPmzMnT+wAA8EoeGgY5depUSVK7du2c5r/33nvq16+fJOm1116Tj4+PevbsqdTUVEVHR+utt97ySH05RbYAAOA6vPQSi7yyGYZhuLKB9evXa+3atapevbq6dOmS4/dNnjxZAwcOVNGiRTV58uRrrjtixIjcFcWzvvH/4m8sa3YJ8CLxWxLNLgHeIrBkvm7+4vM3ufR+vyd+dFMlBRPZAt7sUEy566+EQqHC27+aXQK8SWiVfN28K9nCG3OFy42IS44dO6YZM2boySefzNH6lStX1qZNmxQeHp7lmlanAm027d+/P3fFFPKwMGfeZ3pn1lwdP3FStWpU09gxo9SgXh2zyzJFYWlENL1nkJrdO0glbqgoSTq291etmjJRe79fohI3VNTI5Xuzfd/Hj9yjX5d85slSTVXYGxH8bbhMfjciXmju0vv9xmxwUyUFG9nCe/D3438KUyPCXru1gu8cpSJVGssvLFLHX/y3zm/86p+Fvn4qcU+8it7YUX6lKyszJUmpO1bo9JynlHGqcJxvC3MjYuPWHXrng0/18669Ov73SU15Yayi2rY0uyxz5XcjwoVs4Y25IteXZlxNYmKixo4dm+OwcODAgWz/Ddd8vWSZEl55Q+P/85ga1qujWXM/1oCHY7V4wYcKDws1uzzkkzNH/9SyV57Uid/3ymazqWG3+3TvlM81rUcz/b1/p15u7RyamvR6UC0HPKq93y82qWJ4Gn8bPMtb71Bd0JAtvAN/Pwovmz1Qab/vUPKKWSr12MdZlhWp0lhnPk1Q2u/b5VMsVKH9X1bJMZ/q6BOtTKoYnpJy/oJqVq+inl06aNgTE80up1CwWrbwijteTJgwQSkpKVnmnz9/XhMmTDChooLrvQ/mqVePLurZ9XZVq1pZ4//zmIoWteuzBQvNLg35aPeKRdqzerFO/r5XJw7u0XeTnlZaSrLKNWwuIzNTyX8fdZpqRXXTL998qrSUc2aXDg/hb4OHufKsb4vdjMosZAv34e9H4XVh27dK+ihe53/8MssyI+WMjj9zu1LWfaaLh/cobc+POvXOKNmrNpFvyfImVAtPatuymUYNjtFt7Wg6eYzFcoVXVDV+/HglJydnmZ+SkqLx48ebUFHBlJaerl9+26WWzZs55vn4+Khl86bauv1nEyuDJ9l8fFSvcy8VCSymP7etz7K8bN0bVbZOI2397D0TqoMZ+NtgApvNtQkuI1u4B38/kBu2wBAZmZnKPHfa7FIA67FYrnDbpRmuMAwj26EmP/30k8LCwkyoqGA6deq0MjIyFH7Fzyw8PEz7Dx4yqSp4Suka9fTgh9/Lz15UaSnJmjfsLh3f91uW9W7s2V/H9/6qP7auM6FKmIG/DZ5nteGTBRHZwj34+4EcK2JXaN+JSvnhYxnnz5pdDWA5VssWOW5ExMbGXnP58ePHc73z0NBQ2Ww22Ww21ahRw+mHm5GRoeTkZA0ePPia20hNTVVqaqrTPHtGap6fOw4UVCcO7NK07k1lLx6iOtE91O35dzXzvludmhF+9qKqf8c9WjX1WRMrBYB/kC0Ai/D1U8nYOZJsOjl9uNnVACgActyI2Lp163XXadOmTa52PmnSJBmGoQceeEDjx49XSEiIY5m/v78qVaqkFi1aXHMbCQkJWYZYjnvyMcX/5/Fc1WIFoaEl5OvrqxMnTzrNP3HipEqG8+2P1WWkp+vkoX2SpMRftuiGek3V/P7hWjjuYcc6daJ7qkjRQP204AOzyoQJ+NtgAh+vuPLR65EtvB9/P3Bd/9+E8CtZQcfGd2Q0BJBfLJYtctyIWLFihdt3HhMTI+mfx221bNlSRYoUyfU24uLisnyjYs8onH8A/YsUUd3aNbVuwyZFtf8nuGVmZmrdj5vV9+6eJlcHT7P5+MjP3/nbuxvv6q9dK75SyqnC/Ri6woa/DSaw2PDJ/EK28H78/cA1XWpCRFTTsfHRykw+ef33AMgbi2UL0+4RcebMGQUHB0uSGjdurPPnz+v8+fPZrntpvezY7fasQyVT0txWZ0HTv+/dGvP0s6pXp5Ya/P8jts6fv6AeXW83uzTko1tjJ2rv6sVKSvxD/sWKq/4d96jSTW01+8HOjnXCKlRVxaa3aM7ALiZWCrPwt8HDvPQO1VZHtsgf/P0ovGxFi8kvoqrjtV/pSipSqYEyk08p41SiSj76ofwrN9bx57tLPr7yKVFGkv5pSFxMN6tseMC5lPM69Odhx+s/Dx/Vb7v3KSS4uCIjSptYmYVZLFuY1ogIDQ1VYmKiSpcurRIlSmR7841LN5rKyMgwocKCqXN0lE6eOq3JU2fo+ImTql2zumZMeYXhkxZXLKy0ur/wnoJKlVXq2SQd3bVDsx/srP1rlzvWadyzn84c+VP7flhqYqUwC38bPMxi31oUFGSL/MHfj8LLv0oTlRn/reN1aL+XJEnJK2cr6eOJCmz2z5cbZV/e6PS+o+M6KPXX1Z4rFB738297dP/QMY7XCa+/LUnq3jlKzz/9qFllWZvFsoXNMAzDjB2vWrVKrVq1kp+fn1atWnXNddu2bZu7jacw7Bz/iL+xrNklwIvEb0k0uwR4i8CS+br5zDeiXHq/z/BlbqqkcCFbwBMOxZQzuwR4iQpv/2p2CfAmoVXydfOuZIvc5IqMjAzFx8frgw8+0JEjRxQZGal+/frpqaeecuuTO0wbEXF5AMh1GAAAwJtZ7FuLgoJsAQCwLA9lixdeeEFTp07VrFmzVLduXW3atEn9+/dXSEiIRowY4bb9eMWFJosXL9aaNWscr6dMmaJGjRqpd+/eOnXqlImVAQCAgohsAQBA7q1du1Zdu3bV7bffrkqVKumuu+5Shw4d9OOPP7p1P3lqRHz//ffq27evWrRoob/++kuSNHv2bKcTfm489thjOnPmjCRpx44dio2NVefOnXXgwIHrPmMcAACvY/NxbSqEyBYAAFyDC7kiNTVVZ86ccZpSU1Oz3U3Lli21fPly7d69W5L0008/ac2aNerUqZNbDyfXaeezzz5TdHS0AgICtHXrVscBJCUl6bnnnstTEQcOHFCdOnUc2+/SpYuee+45TZkyRd98802etgkAgGlsNtemQoZsAQDAdbiQKxISEhQSEuI0JSQkZLubJ554Qvfcc49q1aqlIkWKqHHjxho5cqT69Onj1sPJdSNi4sSJmjZtmqZPn+70bO5WrVppy5YteSrC399fKSkpkqRly5apQ4cOkqSwsDDHtxkAABQYjIjIFbIFAADX4UKuiIuLU1JSktMUFxeX7W4+/vhjzZkzR3PnztWWLVs0a9Ysvfzyy5o1a5ZbDyfXN6vctWuX2rRpk2V+SEiITp8+naciWrdurdjYWLVq1Uo//vij5s2bJ0navXu3ypXjzsQAgAKmEI5qcAXZAgCA63AhW9jtdtnt9hyt+9hjjzlGRUhS/fr19fvvvyshIUExMTF5ruFKuf7aJSIiQnv37s0yf82aNapSJW+PLHnzzTfl5+enTz/9VFOnTtUNN9wgSfrmm2/UsWPHPG0TAADTcGlGrpAtAAC4Dg/lipSUFPn4OLcJfH19lZmZ6c6jyf2IiIceekiPPPKI3n33XdlsNh0+fFjr1q3T6NGjNXbs2DwVUaFCBS1cuDDL/Ndeey1P2wMAAAUH2QIAAO/QpUsXPfvss6pQoYLq1q2rrVu36tVXX9UDDzzg1v3kuhHxxBNPKDMzU7feeqtSUlLUpk0b2e12jR49WsOHD89zIRkZGVqwYIF+++03SVLdunV15513ytfXN8/bBADAFIXwPg+uIFsAAHAdHsoWb7zxhsaOHauHH35Yx44dU2RkpAYNGqSnn37arfuxGYZh5OWNaWlp2rt3r5KTk1WnTh0FBQXluYi9e/eqc+fO+uuvv1SzZk1J/1wvWr58eS1atEhVq1bN3QZT/s5zLbCW+BvLml0CvEj8lkSzS4C3CCyZr5vPnN7Vpff7PPSFmyopWMgWKAgOxXCPEfyjwtu/ml0CvElo3i4lzClXsoU35opcj4i4xN/f3/FYLFeNGDFCVatW1fr16xUWFiZJOnHihPr27asRI0Zo0aJFbtkPAAAewYiIPCFbAABwFRbLFrluRLRv3162a9zw4rvvvst1EatWrXIKCpIUHh6u559/Xq1atcr19gAAMFUhvOGkK8gWAABch8WyRa4bEY0aNXJ6nZ6erm3btunnn3/O8+M87Ha7zp49m2V+cnKy/P3987RNAABMY7FvLfIb2QIAgOuwWLbIdSPianebjo+PV3Jycp6KuOOOOzRw4EC98847uummmyRJGzZs0ODBg3XnnXfmaZsAAKBgIFsAAFC4uK2t0rdvX7377rt5eu/kyZNVrVo1tWzZUkWLFlXRokXVqlUrVatWTa+//rq7SgQAwDNceda3xYZeuoJsAQDA/7NYrsjzzSqvtG7dOhUtWjRX78nMzNRLL72kL7/8UmlpaerWrZtiYmJks9lUu3ZtVatWzV3lAQDgORYbPmkWsgUAAP/PYtki142IHj16OL02DEOJiYnatGmTxo4dm6ttPfvss4qPj1dUVJQCAgL09ddfKyQkJM/ffgAA4BW89NsHb0W2AADgOiyWLXLdiAgJCXF67ePjo5o1a2rChAnq0KFDrrb1/vvv66233tKgQYMkScuWLdPtt9+uGTNmyMfHWh0fAEAhYrFvLfIb2QIAgOuwWLbIVSMiIyND/fv3V/369RUaGuryzg8dOqTOnTs7XkdFRclms+nw4cMqV66cy9sHAMAUFvvWIj+RLQAAyAGLZYtctVV8fX3VoUMHnT592i07v3jxYpZrP4sUKaL09HS3bB8AAFPYfFybcmH16tXq0qWLIiMjZbPZtGDBAqfl/fr1k81mc5o6duzoxoN1DdkCAIAc8FCu8JRcX5pRr1497d+/X5UrV3Z554ZhqF+/frLb7Y55Fy5c0ODBg1WsWDHHvM8//9zlfQEAYEXnzp1Tw4YN9cADD2S518IlHTt21Hvvved4ffl51xuQLQAAKFxy3YiYOHGiRo8erWeeeUZNmjRxOqlLUnBwcI63FRMTk2Ve3759c1sSAADexYPDJzt16qROnTpdcx273a6IiAgPVZR7ZAsAAK7DYpdm5LgRMWHCBD366KOO6y7vvPNO2S77YRiGIZvNpoyMjBzv/PJvZwAAsAwXh0GmpqYqNTXVaZ7dbs/zSIaVK1eqdOnSCg0N1b/+9S9NnDhR4eHhLtXoDmQLAAByyEsvscirHDcixo8fr8GDB2vFihX5WQ8AAAWfi99aJCQkaPz48U7zxo0bp/j4+Fxvq2PHjurRo4cqV66sffv26cknn1SnTp20bt06+fr6ulSnq8gWAADkUGEdEWEYhiSpbdu2+VYMAACW4OK3FnFxcYqNjXWal9fREPfcc4/j3/Xr11eDBg1UtWpVrVy5UrfeeqtLdbqKbAEAQA4V1hERkpyGSwIAgKtw8XzpymUY11OlShWVLFlSe/fuNb0RIZEtAADIEYudL3PViKhRo8Z1A8PJkyddKggAAOSfP//8UydOnFDZsmXNLkUS2QIAgMIoV42I8ePHKyQkJL9qAQDAGjw4fDI5OVl79+51vD5w4IC2bdumsLAwhYWFafz48erZs6ciIiK0b98+Pf7446pWrZqio6M9VuO1kC0AAMiBwnxpxj333KPSpUvnVy0AAFiDj+eGT27atEnt27d3vL50b4mYmBhNnTpV27dv16xZs3T69GlFRkaqQ4cOeuaZZ/Lt0o/cIlsAAJADHswWnpDjRgTXcAIAkEMePGe2a9fOcdPH7CxZssRjteQW2QIAgByy2Dkz10/NAAAA12Gx4ZP5hWwBAEAOWSxb5LgRkZmZmZ91AABgHRb71iK/kC0AAMghi2ULa7VVAAAAAACAV8vVzSoBAEAOWGz4JAAAMJnFsgWNCAAA3M1iYQEAAJjMYtnCWkcDAIA3sPm4NgEAAFzOg7nir7/+Ut++fRUeHq6AgADVr19fmzZtcuvhMCICAAB3s9gNpQAAgMk8lC1OnTqlVq1aqX379vrmm29UqlQp7dmzR6GhoW7dD40IAADcjVENAADAnTyULV544QWVL19e7733nmNe5cqV3b4fkhIAAAAAABaVmpqqM2fOOE2pqanZrvvll1+qadOm+ve//63SpUurcePGmj59uttrohEBAIC7cY8IAADgTi7kioSEBIWEhDhNCQkJ2e5m//79mjp1qqpXr64lS5ZoyJAhGjFihGbNmuXWw+HSDAAA3I17RAAAAHdyIVvExcUpNjbWaZ7dbs923czMTDVt2lTPPfecJKlx48b6+eefNW3aNMXExOS5hivRiAAAwN0Y1QAAANzJhWxht9uv2ni4UtmyZVWnTh2nebVr19Znn32W5/1nh0YEAADuRiMCAAC4k4eyRatWrbRr1y6nebt371bFihXduh8aEQAAuBuNCAAA4E4eyhajRo1Sy5Yt9dxzz6lXr1768ccf9fbbb+vtt992635ISgAAuJvN5toEAABwOQ/limbNmmn+/Pn68MMPVa9ePT3zzDOaNGmS+vTp49bDYUQELC1+S6LZJcCLTLq5rNklwEuM3J5udgkACqgKs/40uwR4iTntIswuAV6kz48XzS7Bbe644w7dcccd+boPGhEAALgbl2YAAAB3sli2oBEBAIC7WSwsAAAAk1ksW9CIAADA3XysFRYAAIDJLJYtaEQAAOBu3HASAAC4k8WyBY0IAADczWLDJwEAgMksli2sdTQAAAAAAMCrMSICAAB3s9i3FgAAwGQWyxY0IgAAcDeLXccJAABMZrFsQSMCAAB3s9i3FgAAwGQWyxY0IgAAcDeLhQUAAGAyi2ULGhEAALibxcICAAAwmcWyhbWOBgAAAAAAeDVGRAAA4G4Wu6EUAAAwmcWyBY0IAADczWLDJwEAgMksli2sdTQAAHgDm49rUy6sXr1aXbp0UWRkpGw2mxYsWOC03DAMPf300ypbtqwCAgIUFRWlPXv2uPFgAQBAvvNQrvAU76wKAICCzGZzbcqFc+fOqWHDhpoyZUq2y1988UVNnjxZ06ZN04YNG1SsWDFFR0frwoUL7jhSAADgCR7KFZ7CpRkAALibB7996NSpkzp16pTtMsMwNGnSJD311FPq2rWrJOn9999XmTJltGDBAt1zzz0eqxMAALjAS0c25JW1jgYAAG/g4qUZqampOnPmjNOUmpqa6zIOHDigI0eOKCoqyjEvJCREzZs317p169x5xAAAID9xaQYAAMhPCQkJCgkJcZoSEhJyvZ0jR45IksqUKeM0v0yZMo5lAAAAnsalGQAAuJuL3z7ExcUpNjbWaZ7dbndpmwAAoADz0pENeUUjAgAAd/Nx7cZQdrvdLY2HiIgISdLRo0dVtmxZx/yjR4+qUaNGLm8fAAB4iIvZwttYq60CAIA38ODjO6+lcuXKioiI0PLlyx3zzpw5ow0bNqhFixZu2w8AAMhnXpAr3IkREQAAuJsHT/rJycnau3ev4/WBAwe0bds2hYWFqUKFCho5cqQmTpyo6tWrq3Llyho7dqwiIyPVrVs3j9UIAABc5KUNhbyiEQEAgLt5MCxs2rRJ7du3d7y+dG+JmJgYzZw5U48//rjOnTungQMH6vTp02rdurUWL16sokWLeqxGAADgIhoRAADAW7Rr106GYVx1uc1m04QJEzRhwgQPVgUAAHB11mqrAADgDWw21yYAAIDLmZQrnn/+edlsNo0cOdI9x/H/GBEBAIDb0UwAAADu5PlssXHjRv33v/9VgwYN3L5tRkQAAOBuXvLUDAAAYBEezhXJycnq06ePpk+frtDQUDcfDI0IAADcj0szAACAO7mQK1JTU3XmzBmnKTU19Zq7Gzp0qG6//XZFRUXly+HQiAAAwO18XJwAAAAul/dckZCQoJCQEKcpISHhqnv66KOPtGXLlmuu4yruEQEAAAAAgEXFxcU5Hu99id1uz3bdP/74Q4888oiWLl2ar4/6phEBAIC7cXkFAABwJxeyhd1uv2rj4UqbN2/WsWPHdOONNzrmZWRkaPXq1XrzzTeVmpoqX1/fPNdyCY0IAADcjUYEAABwJw9li1tvvVU7duxwmte/f3/VqlVLY8aMcUsTQqIRAQBAPuA+DwAAwJ08ky2KFy+uevXqOc0rVqyYwsPDs8x3BY0IAADcjRERAADAnSyWLWhEAADgbhYLCwAAwGQmZouVK1e6fZuMHQUAAAAAAB7DiAgAANyOPj8AAHAna2ULGhEAALgbl2YAAAB3sli2oBEBAIC72az1rQUAADCZxbIFjQgAANzOWt9aAAAAs1krW9CIAADA3Sw2fBIAAJjMYtmCRgQAAO5mseGTAADAZBbLFtY6GgAAAAAA4NUYEWFBc+Z9pndmzdXxEydVq0Y1jR0zSg3q1TG7LJiEz0Ph06DXINXvNUjBkRUlSSf3/aoN/52og2uWSJLuemeZyjVr6/Se7R+/re8mDvV4rVZls9jwSYBzCS7hs1A4lW58i2r3fVRhtW5UYKlIrXqsh/5c9aVj+c1Pv6Oqd8Q4vefwuiVa8cjtni7VsqyWLRgRYTFfL1mmhFfe0NBBD2j+3HdVq0Y1DXg4VidOnjK7NJiAz0PhdPbon/ph0pP68J7m+vDem/XHjyvU5fXPFVb1f0Fxx6cz9Hb7co5pzWtPmFixFfm4OAHeg3MJLuGzUHj5FS2m03u2a+NLw6+6zuG1i/VZpxsc0w9P9fFghYWBtXKFd1aFPHvvg3nq1aOLena9XdWqVtb4/zymokXt+mzBQrNLgwn4PBROB1Yt0sE1i3X60F6d/n2P1r7xtNJTklW2QXPHOhcvpCjlxFHHlHburIkVW5DN5toEeBHOJbiEz0LhdXjdYv007Wn9ufKLq66TkZ6qCyeOOqa0s6c9V2BhYLFcQSPCQtLS0/XLb7vUsnkzxzwfHx+1bN5UW7f/bGJlMAOfB0iSzcdHNTr2kl9AMSX+tN4xv2bnezVoVaL6fr5VrUZMlF/RABOrtCAaEbAIziW4hM8CrqfMjW3Vc/FhdfnkFzUb86b8Q8LMLslaLJYruEeEhZw6dVoZGRkKD3P+jz48PEz7Dx4yqSqYhc9D4RZevZ7unv29/PyLKj0lWQtH3qWT+3+TJO38+iOdTfxdyccTVbJ6fbUe9ZxCK9XQwtheJldtJfT5YQ2cS3AJnwVcS+K6JfpjxXydO3xQQeWqqNGQiWo/aZG+HdBKRmam2eVZhLWyBY0IALCgUwd2ac6/m8oeFKLqt/VQh4nv6tMHbtXJ/b/p589mONY7sednnfs7UXfNWKqQclWU9Od+E6sGAAAF0e9LP3b8+/S+n3V6zw51XbBHpZu009GN35lYGbyVtdoqhVxoaAn5+vrqxMmTTvNPnDipkuEMjSps+DwUbpkX05X0xz4d+22Lfpj8lP7evV2N+2R/g6kjO36UJJWoUNWTJVobl2bAIjiX4BI+C8iN5MMHdOHUcRUvR7ZwG4vlChoRFuJfpIjq1q6pdRs2OeZlZmZq3Y+b1bhBPRMrgxn4POByNh8f+frbs11WqmYjSdK540c8WJHF0YiARXAuwSV8FpAbAaVvkD0kXOf/TjS7FOuwWK7g0gyL6d/3bo15+lnVq1NLDerV0ay5H+v8+Qvq0ZVn+BZGfB4Kp1YjJurgD4t1NvEPFSlWXLU63aNyTdtq/uDOCilXRTU736OD3y/WhaQTKlmjvto89rL+3LRaf+/ZYXbpFkKfH9bBuQSX8FkovPwCiql4uWqO10GRlRVavaFSz5xU2pmTqv/g0zq04nNdOHFEQeWqqvGwBJ39c68S139rYtVWY61sQSPCYjpHR+nkqdOaPHWGjp84qdo1q2vGlFcYMldI8XkonALCSit64nsKLFVWaclJ+nv3Ds0f3FmH1i9XUJlyqnDzrWrcd4SKBBTT2SN/aO+y+frx7efMLttavPTbByAvOJfgEj4LhVdY7aa6bdpyx+smo16RJO1bOEsbXxiqEtXrq8rt96lI8RI6f/ywEjcs1fb/jlNmeppZJVuPxbKFzTAMw+wi3C7lb7MrAOCFJt1c1uwS4CVGbk/P1+0bf6xz6f228i3cVAnchmwB4Apz2kWYXQK8SJ8fL+br9l3JFt6YK6w1vgMAgEIkPj5eNpvNaapVq5bZZQEAAFwTl2YAAOB2nhs+WbduXS1btszx2s+PUzsAANZjrUszSCsAALibB6/j9PPzU0QEw4MBALA0i90jgkszAABwN5uPa1Mu7NmzR5GRkapSpYr69OmjQ4cO5dNBAQAA03goV3gKIyIAAHA3F7+1SE1NVWpqqtM8u90uu93uNK958+aaOXOmatasqcTERI0fP1633HKLfv75ZxUvXtylGgAAgBdhRAQAALg2m0tTQkKCQkJCnKaEhIQse+nUqZP+/e9/q0GDBoqOjtbXX3+t06dP6+OPP/bEQQIAAI9xJVvkXEJCgpo1a6bixYurdOnS6tatm3bt2uW2o7iERgQAAO7m4qUZcXFxSkpKcpri4uKuu9sSJUqoRo0a2rt3rwcOEgAAeIyHLs1YtWqVhg4dqvXr12vp0qVKT09Xhw4ddO7cObceDpdmAADgZbK7DCMnkpOTtW/fPt133335UBUAALC6xYsXO72eOXOmSpcurc2bN6tNmzZu2w8jIgAAcDvXLs3IqdGjR2vVqlU6ePCg1q5dq+7du8vX11f33nuvOw8GAACYzjOXZlwpKSlJkhQWFubSdq7EiAgAANzNQzeU+vPPP3XvvffqxIkTKlWqlFq3bq3169erVKlSHtk/AADwEBeyRU5vgn2lzMxMjRw5Uq1atVK9evXyvP/s0IgAAMDtPNOI+OijjzyyHwAAYLa8Z4uEhASNHz/ead64ceMUHx9/zfcNHTpUP//8s9asWZPnfV8NjQgAANzNYo/YAgAAJnMhW8TFxSk2NtZp3vVGQwwbNkwLFy7U6tWrVa5cuTzv+2poRAAAAAAAYFG5uQm2YRgaPny45s+fr5UrV6py5cr5UhONCAAAAAAAoKFDh2ru3Ln64osvVLx4cR05ckSSFBISooCAALfth0YEAADuxqUZAADAnTyULaZOnSpJateundP89957T/369XPbfmhEAADgdjQiAACAO3kmWxiG4ZH90IgAAMDdGBEBAADcyWLZgkYEAABuZ62wAAAAzGatbEEjAgAAd7PYtxYAAMBkFssWPmYXAAAAAAAACg9GRAAA4HbW+tYCAACYzVrZgkYEAADuZrHhkwAAwGQWyxY0IgAAcDtrhQUAAGA2a2ULGhEAALibxb61AAAAJrNYtqARAQCA21krLAAAALNZK1vw1AwAAAAAAOAxNCIAAAAAAIDHcGkGAABuZrPYdZwAAMBcVssWNCIAAHA7a4UFAABgNmtlCxoRAAC4m8W+tQAAACazWLagEQEAgNtZKywAAACzWStb0IgAAMDdLPatBQAAMJnFsgVPzQAAAAAAAB7DiAgAANzOWt9aAAAAs1krW9CIAADA3Sw2fBIAAJjMYtmCRgQAAG5nrbAAAADMZq1sQSMCAAB3s9i3FgAAwGQWyxY0IgAAcDtrhQUAAGA2a2ULnpoBAAAAAAA8hhERAAC4m7W+tAAAAGazWLagEQEAgNtZLC0AAACTWStbcGkGAADuZrO5NuXSlClTVKlSJRUtWlTNmzfXjz/+mA8HBQAATOPBXCHlf7agEQEAgNvZXJxybt68eYqNjdW4ceO0ZcsWNWzYUNHR0Tp27Ji7DgYAAJjOM7lC8ky2oBEBAIC7eXBExKuvvqqHHnpI/fv3V506dTRt2jQFBgbq3XffzaeDAwAAHufBERGeyBY0IgAAKKDS0tK0efNmRUVFOeb5+PgoKipK69atM7EyAABQEHkqW3CzSgAA3M61G0qlpqYqNTXVaZ7dbpfdbnea9/fffysjI0NlypRxml+mTBnt3LnTpRoAAIA3yXu2yGmukDyXLazZiAgsaXYFpktNTVVCQoLi4uKy/YCh8OCz8D8jt6ebXQIKCxfPQwnx8Ro/frzTvHHjxik+Pt6l7cIFZAvOJ3Dgs/CPPj9eNLsEFCYunIe8MVfYDMMwTNs78s2ZM2cUEhKipKQkBQcHm10OTMRnASh4cvrNRVpamgIDA/Xpp5+qW7dujvkxMTE6ffq0vvjiC0+Ui0KC8wku4bMAFCy5GRHhqWzBPSIAAPAydrtdwcHBTlN2YcHf319NmjTR8uXLHfMyMzO1fPlytWjRwpMlAwAAL5XTXCF5LltY89IMAAAKidjYWMXExKhp06a66aabNGnSJJ07d079+/c3uzQAAFAAeSJb0IgAAKAAu/vuu3X8+HE9/fTTOnLkiBo1aqTFixdnuckUAABATngiW9CIsCi73a5x48YV6hsI4R98FgDrGzZsmIYNG2Z2GbA4zie4hM8CYH35nS24WSUAAAAAAPAYblYJAAAAAAA8hkYEAAAAAADwGBoRkCRVqlRJkyZNMrsMuNHKlStls9l0+vTpa67H7x4AkB84v1gLuQKAO9GI8IB+/frJZrPp+eefd5q/YMEC2Ww2j9Yyc+ZMlShRIsv8jRs3auDAgR6tBf+49Pmw2Wzy9/dXtWrVNGHCBF28eNGl7bZs2VKJiYkKCQmRxO8eAKyEbIGrIVcAKAhoRHhI0aJF9cILL+jUqVNml5KtUqVKKTAw0OwyCq2OHTsqMTFRe/bs0aOPPqr4+Hi99NJLLm3T399fERER1w2k/O4BoGAiW+BqyBUAvB2NCA+JiopSRESEEhISrrrOmjVrdMsttyggIEDly5fXiBEjdO7cOcfyxMRE3X777QoICFDlypU1d+7cLMPfXn31VdWvX1/FihVT+fLl9fDDDys5OVnSP0Pq+vfvr6SkJEenPD4+XpLzMLrevXvr7rvvdqotPT1dJUuW1Pvvvy9JyszMVEJCgipXrqyAgAA1bNhQn376qRt+UoWT3W5XRESEKlasqCFDhigqKkpffvmlTp06pfvvv1+hoaEKDAxUp06dtGfPHsf7fv/9d3Xp0kWhoaEqVqyY6tatq6+//lqS8xBKfvcAYD1kC1wNuQKAt6MR4SG+vr567rnn9MYbb+jPP//Msnzfvn3q2LGjevbsqe3bt2vevHlas2aN07Nb77//fh0+fFgrV67UZ599prffflvHjh1z2o6Pj48mT56sX375RbNmzdJ3332nxx9/XNI/Q+omTZqk4OBgJSYmKjExUaNHj85SS58+ffTVV185QoYkLVmyRCkpKerevbskKSEhQe+//76mTZumX375RaNGjVLfvn21atUqt/y8CruAgAClpaWpX79+2rRpk7788kutW7dOhmGoc+fOSk9PlyQNHTpUqampWr16tXbs2KEXXnhBQUFBWbbH7x4ArIdsgZwiVwDwOgbyXUxMjNG1a1fDMAzj5ptvNh544AHDMAxj/vz5xqVfwYABA4yBAwc6ve/77783fHx8jPPnzxu//fabIcnYuHGjY/mePXsMScZrr7121X1/8sknRnh4uOP1e++9Z4SEhGRZr2LFio7tpKenGyVLljTef/99x/J7773XuPvuuw3DMIwLFy4YgYGBxtq1a522MWDAAOPee++99g8DWVz++cjMzDSWLl1q2O12o1u3boYk44cffnCs+/fffxsBAQHGxx9/bBiGYdSvX9+Ij4/PdrsrVqwwJBmnTp0yDIPfPQBYCdkCV0OuAFAQ+JnVACmsXnjhBf3rX//K0jX+6aeftH37ds2ZM8cxzzAMZWZm6sCBA9q9e7f8/Px04403OpZXq1ZNoaGhTttZtmyZEhIStHPnTp05c0YXL17UhQsXlJKSkuPr9fz8/NSrVy/NmTNH9913n86dO6cvvvhCH330kSRp7969SklJ0W233eb0vrS0NDVu3DhXPw/8Y+HChQoKClJ6eroyMzPVu3dv9ejRQwsXLlTz5s0d64WHh6tmzZr67bffJEkjRozQkCFD9O233yoqKko9e/ZUgwYN8lwHv3sAKHjIFrgSuQKAt6MR4WFt2rRRdHS04uLi1K9fP8f85ORkDRo0SCNGjMjyngoVKmj37t3X3fbBgwd1xx13aMiQIXr22WcVFhamNWvWaMCAAUpLS8vVjYP69Omjtm3b6tixY1q6dKkCAgLUsWNHR62StGjRIt1www1O77Pb7TneB/6nffv2mjp1qvz9/RUZGSk/Pz99+eWX133fgw8+qOjoaC1atEjffvutEhIS9Morr2j48OF5roXfPQAULGQLXIlcAcDb0YgwwfPPP69GjRqpZs2ajnk33nijfv31V1WrVi3b99SsWVMXL17U1q1b1aRJE0n/dJEvv1P25s2blZmZqVdeeUU+Pv/c/uPjjz922o6/v78yMjKuW2PLli1Vvnx5zZs3T998843+/e9/q0iRIpKkOnXqyG6369ChQ2rbtm3uDh7ZKlasWJbffe3atXXx4kVt2LBBLVu2lCSdOHFCu3btUp06dRzrlS9fXoMHD9bgwYMVFxen6dOnZxsY+N0DgHWRLXA5cgUAb0cjwgT169dXnz59NHnyZMe8MWPG6Oabb9awYcP04IMPqlixYvr111+1dOlSvfnmm6pVq5aioqI0cOBATZ06VUWKFNGjjz6qgIAAx2OUqlWrpvT0dL3xxhvq0qWLfvjhB02bNs1p35UqVVJycrKWL1+uhg0bKjAw8KrfZvTu3VvTpk3T7t27tWLFCsf84sWLa/To0Ro1apQyMzPVunVrJSUl6YcfflBwcLBiYmLy4adW+FSvXl1du3bVQw89pP/+978qXry4nnjiCd1www3q2rWrJGnkyJHq1KmTatSooVOnTmnFihWqXbt2ttvjdw8A1kW2wPWQKwB4FbNvUlEYXH7ToEsOHDhg+Pv7G5f/Cn788UfjtttuM4KCgoxixYoZDRo0MJ599lnH8sOHDxudOnUy7Ha7UbFiRWPu3LlG6dKljWnTpjnWefXVV42yZcsaAQEBRnR0tPH+++873VjIMAxj8ODBRnh4uCHJGDdunGEYzjcWuuTXX381JBkVK1Y0MjMznZZlZmYakyZNMmrWrGkUKVLEKFWqlBEdHW2sWrXKtR9WIZTd5+OSkydPGvfdd58REhLi+J3u3r3bsXzYsGFG1apVDbvdbpQqVcq47777jL///tswjKw3lTIMfvcAYBVkC1wNuQJAQWAzDMMwowEC1/35558qX768li1bpltvvdXscgAAQAFHtgAAeAKNiALku+++U3JysurXr6/ExEQ9/vjj+uuvv7R7927HtXYAAAA5RbYAAJiBe0QUIOnp6XryySe1f/9+FS9eXC1bttScOXMICgAAIE/IFgAAMzAiAgAAAAAAeIyP2QUAAAAAAIDCg0YEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAQAAAAAAPIZGBGCifv36qVu3bo7X7dq108iRIz1ex8qVK2Wz2XT69Ol828eVx5oXnqgTAICCjGyRO2QLwBw0IoAr9OvXTzabTTabTf7+/qpWrZomTJigixcv5vu+P//8cz3zzDM5WtfTJ85KlSpp0qRJHtkXAABWQrbIHtkCKLz8zC4A8EYdO3bUe++9p9TUVH399dcaOnSoihQpori4uCzrpqWlyd/f3y37DQsLc8t2AACAdyFbAMD/MCICyIbdbldERIQqVqyoIUOGKCoqSl9++aWk/w0DfPbZZxUZGamaNWtKkv744w/16tVLJUqUUFhYmLp27aqDBw86tpmRkaHY2FiVKFFC4eHhevzxx2UYhtN+rxw+mZqaqjFjxqh8+fKy2+2qVq2a3nnnHR08eFDt27eXJIWGhspms6lfv36SpMzMTCUkJKhy5coKCAhQw4YN9emnnzrt5+uvv1aNGjUUEBCg9u3bO9WZFxkZGRowYIBjnzVr1tTrr7+e7brjx49XqVKlFBwcrMGDBystLc2xLCe1AwBQEJEtcodsAVgbIyKAHAgICNCJEyccr5cvX67g4GAtXbpUkpSenq7o6Gi1aNFC33//vfz8/DRx4kR17NhR27dvl7+/v1555RXNnDlT7777rmrXrq1XXnlF8+fP17/+9a+r7vf+++/XunXrNHnyZDVs2FAHDhzQ33//rfLly+uzzz5Tz549tWvXLgUHBysgIECSlJCQoA8++EDTpk1T9erVtXr1avXt21elSpVS27Zt9ccff6hHjx4aOnSoBg4cqE2bNunRRx916eeTmZmpcuXK6ZNPPlF4eLjWrl2rgQMHqmzZsurVq5fTz61o0aJauXKlDh48qP79+ys8PFzPPvtsjmoHAMAqyBbXRrYALM4A4CQmJsbo2rWrYRiGkZmZaSxdutSw2+3G6NGjHcvLlCljpKamOt4ze/Zso2bNmkZmZqZjXmpqqhEQEGAsWbLEMAzDKFu2rPHiiy86lqenpxvlypVz7MswDKNt27bGI488YhiGYezatcuQZCxdujTbOlesWGFIMk6dOuWYd+HCBSMwMNBYu3at07oDBgww7r33XsMwDCMuLs6oU6eO0/IxY8Zk2daVKlasaLz22mtXXX6loUOHGj179nS8jomJMcLCwoxz58455k2dOtUICgoyMjIyclR7dscMAIC3I1tkj2wBFF6MiACysXDhQgUFBSk9PV2ZmZnq3bu34uPjHcvr16/vdO3mTz/9pL1796p48eJO27lw4YL27dunpKQkJSYmqnnz5o5lfn5+atq0aZYhlJds27ZNvr6+uerW7927VykpKbrtttuc5qelpalx48aSpN9++82pDklq0aJFjvdxNVOmTNG7776rQ4cO6fz580pLS1OjRo2c1mnYsKECAwOd9pucnKw//vhDycnJ160dAICCimyRe2QLwLpoRADZaN++vaZOnSp/f39FRkbKz8/5P5VixYo5vU5OTlaTJk00Z86cLNsqVapUnmq4NBwyN5KTkyVJixYt0g033OC0zG6356mOnPjoo480evRovfLKK2rRooWKFy+ul156SRs2bMjxNsyqHQAATyBb5A7ZArA2GhFANooVK6Zq1arleP0bb7xR8+bNU+nSpRUcHJztOmXLltWGDRvUpk0bSdLFixe1efNm3XjjjdmuX79+fWVmZmrVqlWKiorKsvzStyYZGRmOeXXq1JHdbtehQ4eu+m1H7dq1HTfHumT9+vXXP8hr+OGHH9SyZUs9/PDDjnn79u3Lst5PP/2k8+fPO4LQ+vXrFRQUpPLlyyssLOy6tQMAUFCRLXKHbAFYG0/NANygT58+KlmypLp27arvv/9eBw4c0MqVKzVixAj9+eefkqRHHnlEzz//vBYsWKCdO3fq4YcfvuZzuitVqqSYmBg98MADWrBggWObH3/8sSSpYsWKstlsWrhwoY4fP67k5GQVL15co0eP1qhRozRr1izt27dPW7Zs0RtvvKFZs2ZJkgYPHqw9e/boscce065duzR37lzNnDkzR8f5119/adu2bU7TqVOnVL16dW3atElLlizR7t27NXbsWG3cuDHL+9PS0jRgwAD9+uuv+vrrrzVu3DgNGzZMPj4+OaodAIDCgmxBtgAszeybVADe5vIbSuVmeWJionH//fcbJUuWNOx2u1GlShXjoYceMpKSkgzD+OcGUo888ogRHBxslChRwoiNjTXuv//+q95QyjAM4/z588aoUaOMsmXLGv7+/ka1atWMd99917F8woQJRkREhGGz2YyYmBjDMP65CdakSZOMmjVrGkWKFDFKlSplREdHG6tWrXK876uvvjKqVatm2O1245ZbbjHefffdHN1QSlKWafbs2caFCxeMfv36GSEhIUaJEiWMIUOGGE888YTRsGHDLD+3p59+2ggPDzeCgoKMhx56yLhw4YJjnevVzg2lAAAFEdkie2QLoPCyGcZV7mYDAAAAAADgZlyaAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj/k/DdGrVbvUVZcAAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |           1 |        1 |          1 |        33 |\n',
      '| 1            |           1 |        1 |          1 |        37 |\n',
      '| 2            |           1 |        1 |          1 |        35 |\n',
      '| accuracy     |           1 |        1 |          1 |         1 |\n',
      '| macro avg    |           1 |        1 |          1 |       105 |\n',
      '| weighted avg |           1 |        1 |          1 |       105 |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}],
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'xgb_score = evaluate_model(xgb_model, x_train, x_test, y_train, y_test)']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['XGB'] = xgb_score\n",
    'score'],
   'metadata': {'id': 'VhxqIfx0M-8h',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '7563b06e-d68b-45cd-8a99-101b42c1abdc'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  \n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000  \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167  \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000  \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778  \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000  \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778  \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000  \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692  '],
      'text/html': ['\n',
       '  <div id="df-278d4c77-d318-41da-ae8c-2058a9769a6d" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-278d4c77-d318-41da-ae8c-2058a9769a6d\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-278d4c77-d318-41da-ae8c-2058a9769a6d button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-278d4c77-d318-41da-ae8c-2058a9769a6d');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-294079e3-6983-4ebe-8c9e-b667e6a5fc3f">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-294079e3-6983-4ebe-8c9e-b667e6a5fc3f\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-294079e3-6983-4ebe-8c9e-b667e6a5fc3f button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 148}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'YcglZXVVM-8h'},
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'h4epH9LEM-8h',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '8020c46c-901b-4482-f685-2649fe912791'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'n_estimators': 170, 'max_depth': 12, 'learning_rate': 0.25}\n"]}],
   'source': ['# ML Model - 5 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "param_grid = {'learning_rate': np.arange(0.01, 0.3, 0.01),\n",
    "              'max_depth': np.arange(3, 15, 1),\n",
    "              'n_estimators': np.arange(100, 200, 10)}\n",
    '\n',
    '# Initialize the model\n',
    'xgb2 = xgb.XGBClassifier(random_state=0)\n',
    '\n',
    '# Repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=3, random_state=0)\n',
    '\n',
    '# Initialize RandomizedSearchCV\n',
    'random_search = RandomizedSearchCV(xgb2, param_grid, n_iter=10, cv=rskf)\n',
    '\n',
    '# Fit the RandomizedSearchCV to the training data\n',
    'random_search.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = random_search.best_params_\n',
    'print("Best hyperparameters: ", best_params)']},
  {'cell_type': 'code',
   'source': ['# Initialize model with best parameters\n',
    "xgb_model2 = xgb.XGBClassifier(learning_rate = best_params['learning_rate'],\n",
    "                                 max_depth = best_params['max_depth'],\n",
    "                               n_estimators = best_params['n_estimators'],\n",
    '                                 random_state=0)'],
   'metadata': {'id': 'EtNHi1dxM-8h'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'xgb2_score = evaluate_model(xgb_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': '0XR-RyTbM-8i',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': 'f0e21bd6-81a2-4398-9515-2e48bf647232'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABr4UlEQVR4nO3deVwV9f7H8fcB5AgiCLggue/7kpq55HIjUcvculZqoVkuuaRkGd1MNIv2zDK9aaWZlm1aaWlqLplLrmmLu2YlLrmgiALC/P7o57keQQXO4cxheD0fj3lcz8ycmc/AiXnfz/nOjM0wDEMAAAAAAAAe4GN2AQAAAAAAoPCgEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAcvq16+fKlWqZHYZbnX06FHdddddCg8Pl81m06RJk9y+D5vNpvj4eLdvt6Cy4ucIAFC4kSc8jzwBOKMRAY+z2Ww5mlauXGl2qdk6evSoRo8erVq1aikwMFDFihVTkyZNNHHiRJ0+fTpf9z1q1CgtWbJEcXFxmj17tjp27Jiv+/Ok+Ph42Ww2+fj46I8//siy/MyZMwoICJDNZtOwYcNyvf2UlBTFx8d77ecKAOA+nswaeT2/kCfyB3kCKBj8zC4Ahc/s2bOdXr///vtaunRplvm1a9d2aT/Tp09XZmamS9u40saNG9W5c2clJyerb9++atKkiSRp06ZNev7557V69Wp9++23bt3n5b777jt17dpVo0ePzrd9nD9/Xn5+5v1psNvt+vDDD/X44487zf/8889d2m5KSorGjx8vSWrXrl2O35cfnyMAQP7yVNaQ8nZ+IU/kP/IE4N1oRMDj+vbt6/R6/fr1Wrp0aZb5V0pJSVFgYGCO91OkSJE81Xc1p0+fVvfu3eXr66utW7eqVq1aTsufffZZTZ8+3a37vNKxY8dUokSJfN1H0aJF83X719O5c+dsg8PcuXN1++2367PPPvNIHefOnVOxYsXc/jkCAOS/vGYNTyBPeAZ5AvBuXJoBr9SuXTvVq1dPmzdvVps2bRQYGKgnn3xSkvTFF1/o9ttvV2RkpOx2u6pWrapnnnlGGRkZTtu48lq8gwcPymaz6eWXX9bbb7+tqlWrym63q1mzZtq4ceN1a/rvf/+rv/76S6+++mqW0CBJZcqU0VNPPeU076233lLdunVlt9sVGRmpoUOHZhlueelYf/31V7Vv316BgYG64YYb9OKLLzrWmTlzpmw2mwzD0JQpUxxDSqX/DUG80qX3HDx40DFv06ZNio6OVsmSJRUQEKDKlSvrgQcecHpfdtd0bt26VZ06dVJwcLCCgoJ06623av369dnu74cfflBsbKxKlSqlYsWKqXv37jp+/PhVf65X6t27t7Zt26adO3c65h05ckTfffedevfunWX9tLQ0Pf3002rSpIlCQkJUrFgx3XLLLVqxYoVjnYMHD6pUqVKSpPHjxzt+fpeOs1+/fgoKCtK+ffvUuXNnFS9eXH369HEsu/xzNG7cOPn4+Gj58uVOdQwcOFD+/v766aefcnysAADzZGZmatKkSapbt66KFi2qMmXKaNCgQTp16pTTetc6d17v/JId8gR5QiJPAIyIgNc6ceKEOnXqpHvuuUd9+/ZVmTJlJP1zggoKClJsbKyCgoL03Xff6emnn9aZM2f00ksvXXe7c+fO1dmzZzVo0CDZbDa9+OKL6tGjh/bv33/NbvWXX36pgIAA3XXXXTmqPz4+XuPHj1dUVJSGDBmiXbt2aerUqdq4caN++OEHp32dOnVKHTt2VI8ePdSrVy99+umnGjNmjOrXr69OnTqpTZs2mj17tu677z7ddtttuv/++3NUw+WOHTumDh06qFSpUnriiSdUokQJHTx48LpDFH/55RfdcsstCg4O1uOPP64iRYrov//9r9q1a6dVq1apefPmTusPHz5coaGhGjdunA4ePKhJkyZp2LBhmjdvXo7qbNOmjcqVK6e5c+dqwoQJkqR58+YpKChIt99+e5b1z5w5oxkzZujee+/VQw89pLNnz+qdd95RdHS0fvzxRzVq1EilSpXS1KlTNWTIEHXv3l09evSQJDVo0MCxnYsXLyo6OlqtW7fWyy+/fNXRN0899ZS++uorDRgwQDt27FDx4sW1ZMkSTZ8+Xc8884waNmyYo+MEAJhr0KBBmjlzpvr3768RI0bowIEDevPNN7V161bHefp6586cnF+uRJ4gT0jkCUAGYLKhQ4caV34U27Zta0gypk2blmX9lJSULPMGDRpkBAYGGhcuXHDMi4mJMSpWrOh4feDAAUOSER4ebpw8edIx/4svvjAkGV999dU16wwNDTUaNmyYo2M6duyY4e/vb3To0MHIyMhwzH/zzTcNSca7777rmHfpWN9//33HvNTUVCMiIsLo2bOn03YlGUOHDnWaN27cuCw/P8MwjPfee8+QZBw4cMAwDMOYP3++IcnYuHHjNWuXZIwbN87xulu3boa/v7+xb98+x7zDhw8bxYsXN9q0aZNlf1FRUUZmZqZj/qhRowxfX1/j9OnT19zvpeM4fvy4MXr0aKNatWqOZc2aNTP69++f7c/g4sWLRmpqqtO2Tp06ZZQpU8Z44IEHHPOOHz+e5dguiYmJMSQZTzzxRLbLLv8cGYZh7Nixw/D39zcefPBB49SpU8YNN9xgNG3a1EhPT7/mMQIAzHFl1vj+++8NScacOXOc1lu8eLHT/JycO691fskOeYI8cQl5AoUZl2bAa9ntdvXv3z/L/ICAAMe/z549q7///lu33HKLUlJSnIbfXc3dd9+t0NBQx+tbbrlFkrR///5rvu/MmTMqXrx4jmpftmyZ0tLSNHLkSPn4/O8/s4ceekjBwcFatGiR0/pBQUFO1636+/vrpptuum5NuXHpWtCFCxcqPT09R+/JyMjQt99+q27duqlKlSqO+WXLllXv3r21Zs0anTlzxuk9AwcOdBraecsttygjI0O///57jmvt3bu39u7dq40bNzr+N7thlJLk6+srf39/Sf8Msz158qQuXryopk2basuWLTnepyQNGTIkR+vVq1dP48eP14wZMxQdHa2///5bs2bNMvWmXACAnPvkk08UEhKi2267TX///bdjatKkiYKCghzD8fNy7rwe8gR54hLyBAozGhHwWjfccIPjhHC5X375Rd27d1dISIiCg4NVqlQpx0k3KSnpututUKGC0+tLTYkrrwm9UnBwsM6ePZuj2i+dJGvWrOk039/fX1WqVMlyEi1XrlyW6zJDQ0OvW1NutG3bVj179tT48eNVsmRJde3aVe+9955SU1Ov+p7jx48rJSUly3FI/9xpPDMzM8ujsfL6871c48aNVatWLc2dO1dz5sxRRESE/vWvf111/VmzZqlBgwYqWrSowsPDVapUKS1atChHn4dL/Pz8VK5cuRyv/9hjj6lhw4b68ccfNW7cONWpUyfH7wUAmGvPnj1KSkpS6dKlVapUKacpOTlZx44dk5S3c+f1kCeckSfIEyicaLfBa10+8uGS06dPq23btgoO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dFlHTEyM4uPj9eWXX0qSGjVq5PS+FStWqF27djnaBzerBADAzWw216acSkhIULNmzVS8eHGVLl1a3bp1065du5zWadeunWw2m9M0ePBgNx8xAADIT57IFZe0a9dOhmFkmWbOnKlKlSplu8wwjBw3ISQaEQAAFFirVq3S0KFDtX79ei1dulTp6enq0KGDzp0757TeQw89pMTERMf04osvmlQxAAAAl2YAAOB2nrqOc/HixU6vZ86cqdKlS2vz5s1q06aNY35gYKAiIiI8UhMAAHA/q91/ihERAAC4mauXZqSmpurMmTNOU2pq6nX3m5SUJOmfm0Vdbs6cOSpZsqTq1aunuLg4paSk5MtxAwCA/OHJSzM8gUYEAADu5mInIiEhQSEhIU5TQkLCNXeZmZmpkSNHqlWrVqpXr55jfu/evfXBBx9oxYoViouL0+zZs9W3b9/8/gkAAAB3slgngkszAABwM1fP+XFxcY47VF9yved/Dx06VD///LPWrFnjNH/gwIGOf9evX19ly5bVrbfeqn379qlq1aquFQoAADzCS/sJeUYjAgAAN3P1Ok673X7dxsPlhg0bpoULF2r16tUqV67cNddt3ry5JGnv3r00IgAAKCCsdo8ISzYiYlYdMbsEeIn4G8uaXQK8SPyWRLNLANzKMAwNHz5c8+fP18qVK1W5cuXrvmfbtm2SpLJl+fuYG/z9wCWHYq7d7EPhUeHtX80uAd4ksKTZFRQolmxEAABgJk99azF06FDNnTtXX3zxhYoXL64jR/5pxIeEhCggIED79u3T3Llz1blzZ4WHh2v79u0aNWqU2rRpowYNGnikRgAA4DpGRAAAgGvyVFaYOnWqJKldu3ZO89977z3169dP/v7+WrZsmSZNmqRz586pfPny6tmzp5566inPFAgAANzCYn0IGhEAALidh9KCYRjXXF6+fHmtWrXKI7UAAIB8ZLFOBI0IAADczGJZAQAAmMxq2YJGBAAAbma16zgBAIC5rJYtfMwuAAAAAAAAFB6MiAAAwM0s9qUFAAAwmdWyBY0IAADczWppAQAAmMti2YJGBAAAbma16zgBAIC5rJYtaEQAAOBmFssKAADAZFbLFjQiAABwM6t9awEAAMxltWxBIwIAAHezVlYAAABms1i24PGdAAAAAADAYxgRAQCAm9l86PMDAAD3sVq2oBEBAIC7Wew6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w4YN9emnnzrt5+uvv1aNGjUUEBCg9u3bO9WZFxkZGRowYIBjnzVr1tTrr7+e7brjx49XqVKlFBwcrMGDBystLc2xLCe1AwBQEJEtcodsAVgbIyKAHAgICNCJEyccr5cvX67g4GAtXbpUkpSenq7o6Gi1aNFC33//vfz8/DRx4kR17NhR27dvl7+/v1555RXNnDlT7777rmrXrq1XXnlF8+fP17/+9a+r7vf+++/XunXrNHnyZDVs2FAHDhzQ33//rfLly+uzzz5Tz549tWvXLgUHBysgIECSlJCQoA8++EDTpk1T9erVtXr1avXt21elSpVS27Zt9ccff6hHjx4aOnSoBg4cqE2bNunRRx916eeTmZmpcuXK6ZNPPlF4eLjWrl2rgQMHqmzZsurVq5fTz61o0aJauXKlDh48qP79+ys8PFzPPvtsjmoHAMAqyBbXRrYALM4A4CQmJsbo2rWrYRiGkZmZaSxdutSw2+3G6NGjHcvLlCljpKamOt4ze/Zso2bNmkZmZqZjXmpqqhEQEGAsWbLEMAzDKFu2rPHiiy86lqenpxvlypVz7MswDKNt27bGI488YhiGYezatcuQZCxdujTbOlesWGFIMk6dOuWYd+HCBSMwMNBYu3at07oDBgww7r33XsMwDCMuLs6oU6eO0/IxY8Zk2daVKlasaLz22mtXXX6loUOHGj179nS8jomJMcLCwoxz58455k2dOtUICgoyMjIyclR7dscMAIC3I1tkj2wBFF6MiACysXDhQgUFBSk9PV2ZmZnq3bu34uPjHcvr16/vdO3mTz/9pL1796p48eJO27lw4YL27dunpKQkJSYmqnnz5o5lfn5+atq0aZYhlJds27ZNvr6+uerW7927VykpKbrtttuc5qelpalx48aSpN9++82pDklq0aJFjvdxNVOmTNG7776rQ4cO6fz580pLS1OjRo2c1mnYsKECAwOd9pucnKw//vhDycnJ160dAICCimyRe2QLwLpoRADZaN++vaZOnSp/f39FRkbKz8/5P5VixYo5vU5OTlaTJk00Z86cLNsqVapUnmq4NBwyN5KTkyVJixYt0g033OC0zG6356mOnPjoo480evRovfLKK2rRooWKFy+ul156SRs2bMjxNsyqHQAATyBb5A7ZArA2GhFANooVK6Zq1arleP0bb7xR8+bNU+nSpRUcHJztOmXLltWGDRvUpk0bSdLFixe1efNm3XjjjdmuX79+fWVmZmrVqlWKiorKsvzStyYZGRmOeXXq1JHdbtehQ4eu+m1H7dq1HTfHumT9+vXXP8hr+OGHH9SyZUs9/PDDjnn79u3Lst5PP/2k8+fPO4LQ+vXrFRQUpPLlyyssLOy6tQMAUFCRLXKHbAFYG0/NANygT58+KlmypLp27arvv/9eBw4c0MqVKzVixAj9+eefkqRHHnlEzz//vBYsWKCdO3fq4YcfvuZzuitVqqSYmBg98MADWrBggWObH3/8sSSpYsWKstlsWrhwoY4fP67k5GQVL15co0eP1qhRozRr1izt27dPW7Zs0RtvvKFZs2ZJkgYPHqw9e/boscce065duzR37lzNnDkzR8f5119/adu2bU7TqVOnVL16dW3atElLlizR7t27NXbsWG3cuDHL+9PS0jRgwAD9+uuv+vrrrzVu3DgNGzZMPj4+OaodAIDCgmxBtgAszeybVADe5vIbSuVmeWJionH//fcbJUuWNOx2u1GlShXjoYceMpKSkgzD+OcGUo888ogRHBxslChRwoiNjTXuv//+q95QyjAM4/z588aoUaOMsmXLGv7+/ka1atWMd99917F8woQJRkREhGGz2YyYmBjDMP65CdakSZOMmjVrGkWKFDFKlSplREdHG6tWrXK876uvvjKqVatm2O1245ZbbjHefffdHN1QSlKWafbs2caFCxeMfv36GSEhIUaJEiWMIUOGGE888YTRsGHDLD+3p59+2ggPDzeCgoKMhx56yLhw4YJjnevVzg2lAAAFEdkie2QLoPCyGcZV7mYDAAAAAADgZlyaAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGNoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj/k/DdGrVbvUVZcAAAAASUVORK5CYII=\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |           1 |        1 |          1 |        33 |\n',
      '| 1            |           1 |        1 |          1 |        37 |\n',
      '| 2            |           1 |        1 |          1 |        35 |\n',
      '| accuracy     |           1 |        1 |          1 |         1 |\n',
      '| macro avg    |           1 |        1 |          1 |       105 |\n',
      '| weighted avg |           1 |        1 |          1 |       105 |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['XGB tuned'] = xgb2_score"],
   'metadata': {'id': 'szQtnydCM-8i'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'metadata': {'id': 'dOuC2Vx2M-8i'},
   'source': ['##### Which hyperparameter optimization technique have i used and why?']},
  {'cell_type': 'markdown',
   'metadata': {'id': '83SC9H7KM-8i'},
   'source': ['Here we have used Randomized search to tune the XGB model.\n',
    '\n',
    'Randomized search is a popular technique because it can be more efficient than exhaustive search methods like grid search. Instead of trying all possible combinations of hyperparameters, randomized search samples a random subset of the hyperparameter space. This can save time and computational resources while still finding good hyperparameters for the model.']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'N5YXAPbAM-8i'},
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'aMKspbXUM-8i',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 422},
    'outputId': 'a9b48f9d-988d-4225-e711-e515b03aa066'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  XGB tuned  \n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000   1.000000  \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167   0.979167  \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000   1.000000  \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778   0.977778  \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000   1.000000  \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778   0.977778  \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000   1.000000  \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692   0.977692  '],
      'text/html': ['\n',
       '  <div id="df-ad38a1ae-81f0-4515-82fc-ad88471520d0" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '      <th>XGB tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-ad38a1ae-81f0-4515-82fc-ad88471520d0\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-ad38a1ae-81f0-4515-82fc-ad88471520d0 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-ad38a1ae-81f0-4515-82fc-ad88471520d0');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-3b021384-ed0d-4fc6-b532-18621f789b5f">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-3b021384-ed0d-4fc6-b532-18621f789b5f\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-3b021384-ed0d-4fc6-b532-18621f789b5f button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 153}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'w9AmUMHmM-8j'},
   'source': ['It appears that hyperparameter tuning did not improve the performance of the XGBoost model on the test set. The precision, recall, accuracy and F1 scores on the test set are same for both the untuned and tuned XGBoost models.']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'pVXGvXVb_6FF'},
   'source': ['### ML Model - 6 : Naive Bayes']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'aQ1kznd1_6FF'},
   'outputs': [],
   'source': ['# ML Model - 6 Implementation\n',
    'nb_model = GaussianNB()\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model']},
  {'cell_type': 'markdown',
   'metadata': {'id': '1R6e5Trb_6FF'},
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."]},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'A7FEfxhp_6FF',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '7c5ed08f-ef69-400d-b3c8-9934d8b811a5'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrZ0lEQVR4nO3dd3gUZdv+8XMTyKaRQEIJoUMo0hEQKVI0EkCR5gNKERCliKBEFOMjEBCJFRFFUBApDyg2UEBBRIpIkWqXjqhUKYEQSEIyvz/8sS9LAiTZzc5m8v0cxxyvmZ2duSbZhznfa++5x2YYhiEAAAAAAAAP8DG7AAAAAAAAUHDQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGX169dPFStWNLsMtzp27JjuvfdehYeHy2azafLkyW4/hs1mU3x8vNv3m19Z8XMEACjYyBOeR54AnNGIgMfZbLZsLWvWrDG71CwdO3ZMI0eOVI0aNRQYGKigoCA1bNhQEyZM0JkzZ/L02CNGjNCKFSsUFxenefPmqV27dnl6PE+Kj4+XzWaTj4+P/vzzz0yvnz17VgEBAbLZbHr00UdzvP/k5GTFx8d77ecKAOA+nswaub2+kCfyBnkCyB8KmV0ACp558+Y5/Tx37lytXLky0/qbbrrJpePMmDFDGRkZLu3jalu2bFGHDh2UlJSk3r17q2HDhpKkrVu36oUXXtC6dev01VdfufWYV/rmm2/UqVMnjRw5Ms+OceHCBRUqZN4/DXa7Xe+//76eeuopp/WffvqpS/tNTk7WuHHjJEmtW7fO9vvy4nMEAMhbnsoaUu6uL+SJvEeeALwbjQh4XO/evZ1+3rRpk1auXJlp/dWSk5MVGBiY7eMULlw4V/Vdy5kzZ9SlSxf5+vpqx44dqlGjhtPrzz//vGbMmOHWY17t+PHjKlq0aJ4ew9/fP0/3fyMdOnTIMjgsWLBAd911lz755BOP1HH+/HkFBQW5/XMEAMh7uc0ankCe8AzyBODduDUDXql169aqXbu2tm3bppYtWyowMFDPPPOMJOmzzz7TXXfdpcjISNntdlWpUkXPPfec0tPTnfZx9b14Bw8elM1m0yuvvKJ33nlHVapUkd1uV+PGjbVly5Yb1vT222/r77//1qRJkzKFBkkqVaqUnn32Wad1b731lmrVqiW73a7IyEgNHTo003DLy+f666+/qk2bNgoMDFSZMmX00ksvObaZPXu2bDabDMPQ1KlTHUNKpf8bgni1y+85ePCgY93WrVsVExOj4sWLKyAgQJUqVdKDDz7o9L6s7uncsWOH2rdvr5CQEAUHB+uOO+7Qpk2bsjzed999p9jYWJUoUUJBQUHq0qWLTpw4cc3f69V69uypnTt36vfff3esO3r0qL755hv17Nkz0/apqakaM2aMGjZsqNDQUAUFBem2227T6tWrHdscPHhQJUqUkCSNGzfO8fu7fJ79+vVTcHCw9u3bpw4dOqhIkSLq1auX47UrP0djx46Vj4+PVq1a5VTHwIED5efnpx9++CHb5woAME9GRoYmT56sWrVqyd/fX6VKldKgQYN0+vRpp+2ud+280fUlK+QJ8oREngAYEQGvdfLkSbVv31733XefevfurVKlSkn69wIVHBys2NhYBQcH65tvvtGYMWN09uxZvfzyyzfc74IFC3Tu3DkNGjRINptNL730krp27ar9+/dft1v9+eefKyAgQPfee2+26o+Pj9e4ceMUHR2tIUOGaNeuXZo2bZq2bNmi7777zulYp0+fVrt27dS1a1d1795dH3/8sUaNGqU6deqoffv2atmypebNm6c+ffrozjvv1AMPPJCtGq50/PhxtW3bViVKlNDTTz+tokWL6uDBgzccovjLL7/otttuU0hIiJ566ikVLlxYb7/9tlq3bq21a9eqSZMmTtsPGzZMxYoV09ixY3Xw4EFNnjxZjz76qBYuXJitOlu2bKmyZctqwYIFGj9+vCRp4cKFCg4O1l133ZVp+7Nnz2rmzJm6//779fDDD+vcuXN69913FRMTo++//17169dXiRIlNG3aNA0ZMkRdunRR165dJUl169Z17OfSpUuKiYlRixYt9Morr1xz9M2zzz6rJUuWaMCAAfrpp59UpEgRrVixQjNmzNBzzz2nevXqZes8AQDmGjRokGbPnq3+/ftr+PDhOnDggN58803t2LHDcZ2+0bUzO9eXq5EnyBMSeQKQAZhs6NChxtUfxVatWhmSjOnTp2faPjk5OdO6QYMGGYGBgcbFixcd6/r27WtUqFDB8fOBAwcMSUZ4eLhx6tQpx/rPPvvMkGQsWbLkunUWK1bMqFevXrbO6fjx44afn5/Rtm1bIz093bH+zTffNCQZs2bNcqy7fK5z5851rEtJSTEiIiKMbt26Oe1XkjF06FCndWPHjs30+zMMw3jvvfcMScaBAwcMwzCMRYsWGZKMLVu2XLd2ScbYsWMdP3fu3Nnw8/Mz9u3b51h3+PBho0iRIkbLli0zHS86OtrIyMhwrB8xYoTh6+trnDlz5rrHvXweJ06cMEaOHGlERUU5XmvcuLHRv3//LH8Hly5dMlJSUpz2dfr0aaNUqVLGgw8+6Fh34sSJTOd2Wd++fQ1JxtNPP53la1d+jgzDMH766SfDz8/PeOihh4zTp08bZcqUMRo1amSkpaVd9xwBAOa4Omt8++23hiRj/vz5TtstX77caX12rp3Xu75khTxBnriMPIGCjFsz4LXsdrv69++faX1AQIDjv8+dO6d//vlHt912m5KTk52G311Ljx49VKxYMcfPt912myRp//79133f2bNnVaRIkWzV/vXXXys1NVWPP/64fHz+739mDz/8sEJCQrRs2TKn7YODg53uW/Xz89Mtt9xyw5py4vK9oEuXLlVaWlq23pOenq6vvvpKnTt3VuXKlR3rS5curZ49e2r9+vU6e/as03sGDhzoNLTztttuU3p6uv74449s19qzZ0/t3btXW7ZscfzfrIZRSpKvr6/8/Pwk/TvM9tSpU7p06ZIaNWqk7du3Z/uYkjRkyJBsbVe7dm2NGzdOM2fOVExMjP755x/NmTPH1Em5AADZ99FHHyk0NFR33nmn/vnnH8fSsGFDBQcHO4bj5+baeSPkCfLEZeQJFGQ0IuC1ypQp47ggXOmXX35Rly5dFBoaqpCQEJUoUcJx0U1MTLzhfsuXL+/08+WmxNX3hF4tJCRE586dy1btly+S1atXd1rv5+enypUrZ7qIli1bNtN9mcWKFbthTTnRqlUrdevWTePGjVPx4sXVqVMnvffee0pJSbnme06cOKHk5ORM5yH9O9N4RkZGpkdj5fb3e6UGDRqoRo0aWrBggebPn6+IiAjdfvvt19x+zpw5qlu3rvz9/RUeHq4SJUpo2bJl2fo8XFaoUCGVLVs229s/+eSTqlevnr7//nuNHTtWNWvWzPZ7AQDm2rNnjxITE1WyZEmVKFHCaUlKStLx48cl5e7aeSPkCWfkCfIECibabfBaV458uOzMmTNq1aqVQkJCNH78eFWpUkX+/v7avn27Ro0ala3HIvn6+ma53jCM676vRo0a2rlzp1JTU7NskLgitzVJynJiKUmZJu+02Wz6+OOPtWnTJi1ZskQrVqzQgw8+qFdffVWbNm1ScHBwzgvPgivncqWePXtq2rRpKlKkiHr06OH0TdCV/ve//6lfv37q3LmznnzySZUsWVK+vr5KSEjQvn37sn08u91+zWNkZf/+/dqzZ48k6aeffsr2+wAA5svIyFDJkiU1f/78LF+/PCFhXlw7yRPZQ54ArI0REchX1qxZo5MnT2r27Nl67LHHdPfddys6OtrpVou80rFjR124cCFbj3uqUKGCJGnXrl1O61NTU3XgwAHH6+5w+dyvnj37WkMXb731Vj3//PPaunWr5s+fr19++UUffPBBltuWKFFCgYGBmc5Dkn7//Xf5+PioXLlyrp3ANfTs2VNHjhzR7t27rzmMUpI+/vhjVa5cWZ9++qn69OmjmJgYRUdH6+LFi07bXStg5UZGRob69eunkJAQPfPMM3r//fddfi45AMBzqlSpopMnT6p58+aKjo7OtFw9UeD1rp05vb6QJ5yRJ8gTKJhoRCBfudwdv7IbnpqaqrfeeivPjz148GCVLl1aTzzxhHbv3p3p9ePHj2vChAmSpOjoaPn5+WnKlClOtb777rtKTEzMcrbm3KpSpYokad26dY5158+f15w5c5y2O336dKZvEerXry9J1xxO6evrq7Zt2+qzzz5zemzXsWPHtGDBArVo0UIhISFuOIvMqlSposmTJyshIUG33HLLNbfL6jOxefNmbdy40Wm7y7NWXx2wcmPSpEnasGGD3nnnHT333HNq1qyZhgwZon/++cflfQMA8l737t2Vnp6u5557LtNrly5dclwrsnPtzOn1hTxx0LGePEGeQMHFrRnIV5o1a6ZixYqpb9++Gj58uGw2m+bNm5fjYXq5UaxYMS1atEgdOnRQ/fr11bt3bzVs2FCStH37dr3//vtq2rSppH87/3FxcRo3bpzatWune+65R7t27dJbb72lxo0bO00k5aq2bduqfPnyGjBggJ588kn5+vpq1qxZKlGihA4dOuTYbs6cOXrrrbfUpUsXValSRefOndOMGTMUEhKiDh06XHP/EyZM0MqVK9WiRQs98sgjKlSokN5++22lpKQ4PZs8Lzz22GM33Obuu+/Wp59+qi5d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tsC/4reTLQBkwYuzhTfmCq+4NeN///ufkpOT5efnp5o1a+qWW27JdVAAAMBsPL7TfGQLAICVWC1XeEUjYsSIESpZsqR69uypL774Qunp6WaXBABArnlqjohp06apbt26CgkJUUhIiJo2baovv/zS8frFixc1dOhQhYeHKzg4WN26ddOxY8fy4Iy9D9kCAGAlVpsjwisaEUeOHNEHH3wgm82m7t27q3Tp0ho6dKg2bNhgdmkAAHitsmXL6oUXXtC2bdu0detW3X777erUqZN++eUXSf/+P+NLlizRRx99pLVr1+rw4cPq2rWryVV7BtkCAADv5VVzREhScnKyFi1apAULFujrr79W2bJltW/fvhztgzkicBlzRADIUh7fxzm3sWtzRDywJff3coaFhenll1/WvffeqxIlSmjBggW69957JUm///67brrpJm3cuFG33nqrSzXmJ+7IFswRgcuYIwJAlrw4W7iSK/KKVzw140qBgYGKiYnR6dOn9ccff+i3334zuyQAAHLE1WGQKSkpSklJcVpnt9tlt9uv+Z709HR99NFHOn/+vJo2bapt27YpLS1N0dHRjm1q1Kih8uXLF7hGBNkCAJDfeestFrnlFbdmSP9+WzF//nx16NBBZcqU0eTJk9WlSxfH8FIAAPILHxeXhIQEhYaGOi0JCQlZHuunn35ScHCw7Ha7Bg8erEWLFqlmzZo6evSo/Pz8VLRoUaftS5UqpaNHj+bBWXsfsgUAwCpcyRXeyCtGRNx3331aunSpAgMD1b17d40ePVpNmzY1uywAAHLF1W8t4uLiFBsb67TuWqMhqlevrp07dyoxMVEff/yx+vbtq7Vr17pWgAWQLQAAVmK1ERFe0Yjw9fXVhx9+qJiYGPn6+ppdDgAALnE1K9zoNowr+fn5KSoqSpLUsGFDbdmyRa+//rp69Oih1NRUnTlzxmlUxLFjxxQREeFihd6PbAEAsBKL9SG8oxExf/58s0sAAMASMjIylJKSooYNG6pw4cJatWqVunXrJknatWuXDh06VCBGBpAtAADwXqY1IqZMmaKBAwfK399fU6ZMue62w4cP91BVAAC4zsdDX1vExcWpffv2Kl++vM6dO6cFCxZozZo1WrFihUJDQzVgwADFxsYqLCxMISEhGjZsmJo2bWrZiSrJFgAAq/JUtvAU0xoRr732mnr16iV/f3+9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Zxo5cT05bkS88cYbmjFjhv773//K19fXsb5Ro0b66aefcro7AACsx+bj2pJLiYmJkqSwsDBJ0rZt25SWlqbo6GjHNjVq1FD58uW1ceNG187RjcgWAADcgAm5IisHDhzQ0aNHnbJFaGiomjRpkqNska3JKq8+cIMGDTKtt9vtTkNBAQAoqGw+rk0olZKSopSUFKd1drtddrv9mu/JyMjQ448/rubNm6t27dqSpKNHj8rPz09FixZ12rZUqVI6evSoSzW6E9kCAIDrcyVb5CZXXMvl/FCqVCmn9TnNFjluj1SqVEk7d+7MtH758uW66aabcro7AACsx8U5IhISEhQaGuq0JCQkXPeQQ4cO1c8//6wPPvjAQyfpPmQLAABuwMO5Iq/leEREbGyshg4dqosXL8owDH3//fd6//33lZCQoJkzZ+ZFjQAAFChxcXGKjY11Wne9by0effRRLV26VOvWrVPZsmUd6yMiIpSamqozZ844jYo4duyYIiIi3F53bpEtAADIOznNFddzOT8cO3ZMpUuXdqw/duyY6tevn+395LgR8dBDDykgIEDPPvuskpOT1bNnT0VGRur111/Xfffdl9PdAQBgPS7ej5nd4ZKGYWjYsGFatGiR1qxZo0qVKjm93rBhQxUuXFirVq1St27dJEm7du3SoUOH1LRpU5dqdCeyBQAAN+BCtsjtbRhZqVSpkiIiIrRq1SpH4+Hs2bPavHmzhgwZku395LgRIUm9evVSr169lJycrKSkJJUsWTI3u3Hy7bff6u2339a+ffv08ccfq0yZMpo3b54qVaqkFi1auLx/AAA8JTczVOfG0KFDtWDBAn322WcqUqSI497M0NBQBQQEKDQ0VAMGDFBsbKzCwsIUEhKiYcOGqWnTprr11ls9UmN2kS0AALg2T2ULSUpKStLevXsdPx84cEA7d+5UWFiYypcvr8cff1wTJkxQ1apVValSJY0ePVqRkZHq3Llzto+R67bK8ePHtW3bNu3atUsnTpzI7W4kSZ988oliYmIUEBCgHTt2OCbSSExM1MSJE13aNwAAHufiHBHZNW3aNCUmJqp169YqXbq0Y1m4cKFjm9dee0133323unXrppYtWyoiIkKffvppXpy1y8gWAABcgwdyxWVbt25VgwYNHBNJx8bGqkGDBhozZowk6amnntKwYcM0cOBANW7cWElJSVq+fLn8/f2zfzqGYRg5KercuXN65JFH9P777ysjI0OS5Ovrqx49emjq1KkKDQ3Nye4kSQ0aNNCIESP0wAMPqEiRIvrhhx9UuXJl7dixQ+3bt8/5zN7J/+S4BlhT/M2lb7wRCoyx63kMIP5lK14jT/d/4ZlqLr0/YOJuN1WSP5AtkJ/83MX10TqwhtqLjptdArxJYPE83b0r2cIbc0WOR0Q89NBD2rx5s5YtW6YzZ87ozJkzWrp0qbZu3apBgwblqohdu3apZcuWmdaHhobqzJkzudonAABmsdl8XFoKGrIFAADXZ7VckeM5IpYuXaoVK1Y43VsZExOjGTNmqF27drkqIiIiQnv37lXFihWd1q9fv16VK1fO1T4BAED+QLYAAKBgyXF7JDw8PMshkqGhoSpWrFiuinj44Yf12GOPafPmzbLZbDp8+LDmz5+vkSNH5mjmTQAAvIKH5oiwCrIFAAA3YLFckeMREc8++6xiY2M1b948xzNEjx49qieffFKjR4/OVRFPP/20MjIydMcddyg5OVktW7aU3W7XyJEjNWzYsFztEwAAs9h8vPOi763IFgAAXJ/VskW2Jqts0KCB0+NC9uzZo5SUFJUvX16SdOjQIdntdlWtWlXbt2/PdTGpqanau3evkpKSVLNmTQUHB+duR0wohf+PySpxJSarxGV5PVllytjaLr3fPu5nN1XivcgWyK+YrBKXMVklnOTxZJWuZAtvzBXZGhGRk+eB5sb//vc/de3aVYGBgapZs2aeHgsAgDznpcMgvQnZAgCAHLBYtsjx4zvzQokSJXThwgXdc8896t27t2JiYuTr65v7HfKtBf4/RkTgSoyIwGV5PSIidVxdl97vN/ZHN1VScJEtkFcYEYHLGBEBJ3k8IsKVbOGNucIrnuVx5MgRffDBB7LZbOrevbtKly6toUOHasOGDWaXBgBAzjFZpenIFgAAS7FYrshxIyI9PV2vvPKKbrnlFkVERCgsLMxpyY1ChQrp7rvv1vz583X8+HG99tprOnjwoNq0aaMqVarkap8AACB/IFsAAFCw5LgRMW7cOE2aNEk9evRQYmKiYmNj1bVrV/n4+Cg+Pt7lggIDAxUTE6P27duratWqOnjwoMv7BADAo2w+ri0FDNkCAIAbsFiuyHFV8+fP14wZM/TEE0+oUKFCuv/++zVz5kyNGTNGmzZtynUhycnJmj9/vjp06KAyZcpo8uTJ6tKli3755Zdc7xMAADPYbDaXloKGbAEAwPVZLVdk66kZVzp69Kjq1KkjSQoODlZiYqIk6e677871s77vu+8+LV26VIGBgerevbtGjx6tpk2b5mpfAACYzmLP+s5rZAsAAG7AYtkix42IsmXL6siRIypfvryqVKmir776SjfffLO2bNkiu92eqyJ8fX314Ycfuj6jNQAAXsDmpcMgvRXZAgCA67NatshxI6JLly5atWqVmjRpomHDhql379569913dejQIY0YMSJXRcyfPz9X7wMAwCt56TBIb0W2AADgBiyWLXLciHjhhRcc/92jRw9VqFBBGzZsUNWqVdWxY8ds72fKlCkaOHCg/P39NWXKlOtuO3z48JyWCQAA8gmyBQAABYvNMAzDHTs6fvy4Zs6cqWeeeSZb21eqVElbt25VeHi4KlWqdO0CbTbt378/Z8Uk/5Oz7S1m/sJP9O6cBTpx8pRqVIvS6FEjVLd2TbPLMkX8zaXNLsEjGt03SI3vH6SiZSpIko7v/VVrp07Q3m9XZNq21ztLVLVlO30wtJt+X/W5p0s11dj1P5ldgineX/Sl3l/0pf4+clySFFWpvIb276GWTRuaXJl5bMVr5On+L73YxKX3Fxq12U2V5G9kC+9Btvg/P3cpaXYJHhNY+zYV/89IBVRtqMLhkfojvovObfzM8XrJ3mMV2rqHCpcoJyMtVRf2btOx957VhV3fm1i159RedNzsEkzHvw1XCCyep7t3JVt4Y65w240mR44cydGEUgcOHFB4eLjjv6+15DgoFHBfrPhaCa++oaGDHtSiBbNUo1qUBjwSq5OnTptdGvLQ2WN/6etXn9Hb3ZronXtv1YFNq3X/1E9VIsr5QnBr38ck9/QekY+UKhGuJwY/oE9mTdLH776qWxvW0dCnJ2rP/kNml2ZZPDXDPcgW3oFsUXD5+Afp4v4fdfjNR7N8PeXv3To8dZj2DKqr/U/cptSjf6hiwgr5hubt/0MG78C/DZ5ltVzhFTNejB8/XsnJyZnWX7hwQePHjzehovzrvf8tVPeuHdWt012KqlJJ4/77pPz97fpk8VKzS0Me2r16mfasW65Tf+zVyYN79M3kMUpNTlLZev/XOY2oUU/N+j+uz/77sImVwgy3t7hFrZo1UsVykapUvoxGDOqjwAB//fDLLrNLsy5XnvVtscmozEK2cB+yRcGVtHW5js8ZrXMbFmf5euLq93V+xyqlHT2glD9+1dF3YuUbFCr/SnU9WyhMwb8NHmaxXOEVVY0bN05JSUmZ1icnJ2vcuHEmVJQ/paal6ZffdqlZk8aOdT4+PmrWpJF2/PiziZXBk2w+PqrdobsKBwbpr52bJEmF/QPU7ZW5WjZ+uJL+OWZyhTBTenq6ln29TskXL6p+7epml2NdNptrC1xGtnAPsgWyy1aosIp1GKj0pDO6uP8Hs8tBHuPfBhNYLFfkeLLKvGAYRpZDRn744QeFhYWZUFH+dPr0GaWnpyv8qt9ZeHiY9h9kCLbVlaxWWw+9/60K2f2VmpykhY/eqxP7fpMkxcS9qj93bNKub5aYXCXMsmvfQd0/aJRSUlMVGBCgNyfGKapSebPLsixvHQZZkJAt3INsgRsp0uQulY17Xz72QF06dUQH49oq/exJs8tCHuPfBs+zWrbIdiMiNjb2uq+fOHEixwcvVqyY476VatWqOf1y09PTlZSUpMGDB193HykpKUpJSXFaZ09PyfVzx4H86uSBXZrepZHsRUJVM6arOr8wS7P73KGw8lVUqUlrvd218Y13AsuqVL6MFs2erHNJ57Vi9QY9/fzrmvfm8zQjYCqyBZD/Je1crX2PNJBvSHGFtX9Y5f67UPuG36r0xJz/7xdAwZHtRsSOHTtuuE3Lli1zdPDJkyfLMAw9+OCDGjdunEJDQx2v+fn5qWLFimratOl195GQkJBpiOXYZ55U/H+fylEtVlCsWFH5+vrq5KlTTutPnjyl4uF8+2N16WlpOnVonyTpyC/bVaZ2IzV5YJguXbygsPJV9PT3zjO+d5/yoQ5tW6/ZD0SbUS48zK9wYVUo++9TZGrXiNLPv+/R3I+WavxTj5hcmUX5eMWdj16PbOH9yBa4ESMlWamH90mH9+nv3zer6qxdKtZugP5Z+MKN34x8i38bTGCxbJHtRsTq1avdfvC+fftK+vdxW82aNVPhwoVzvI+4uLhM36jY08+5pb78xq9wYdW6qbo2bt6q6Db/BreMjAxt/H6bevfoZnJ18DSbj48K+dm15o1x2v7xLKfXHlmyUyteGKld3zCZUEGVkWEoNTXN7DKsy2LDJ/MK2cL7kS2QUzabj3wKM3rI6vi3wQQWyxamzRFx9uxZhYSESJIaNGigCxcu6MKFC1lue3m7rNjt9sxDJZNT3VZnftO/dw+NGvO8atesobq1a2rOgg914cJFde10l9mlIQ/dETtBe9ctV+KRP+UXVER17r5PFW9ppXkPdVDSP8eynKAy8fAhnfn7oOeLhce9Om2uWjZtqNKliut88gUt/Wqdvt/xs2ZOije7NOvy0hmqrY5skTfIFgWXj3+Q/CKjHD/7RVSSf+V6Sj93SpfOnlTJnv/V2Y2f69KpI/INKa7we4aqUPEySvz2IxOrhqfwb4OHWSxbmNaIKFasmI4cOaKSJUuqaNGiWU6+cXmiqfT0dBMqzJ86xETr1OkzmjJtpk6cPKWbqlfVzKmvMkTK4oLCSqrLi+8puERppZxL1LFdP2neQx20f8Mqs0uDFzh1JlGjnpusEydPqUhQkKpHVdDMSfFqfkt9s0uzLot9a5FfkC3yBtmi4Aqo1kiVXv6/kUulB0+SJJ3+arYOTxkiv7LVVX70x/INKa70cyd1YfcWHXiipVL++NWskuFB/NvgYRbLFjbDMAwzDrx27Vo1b95chQoV0tq1a6+7batWrXK28+R/brwNCoT4m0ubXQK8yNj1P5ldAryErXiNPN1/xhuuzb3iM+xrN1VSsJAt4Ak/dylpdgnwErUXHTe7BHiTwOJ5untXskVOckV6erri4+P1v//9T0ePHlVkZKT69eunZ5991q1P7jBtRMSVASDHYQAAAG9msW8t8guyBQDAsjyULV588UVNmzZNc+bMUa1atbR161b1799foaGhGj58uNuO4xU3mixfvlzr1693/Dx16lTVr19fPXv21OnTp02sDAAA5EdkCwAAcm7Dhg3q1KmT7rrrLlWsWFH33nuv2rZtq++//96tx8lVI+Lbb79V79691bRpU/3999+SpHnz5jld8HPiySef1NmzZyVJP/30k2JjY9WhQwcdOHDghs8YBwDA69h8XFsKILIFAADX4UKuSElJ0dmzZ52WlJSULA/TrFkzrVq1Srt375Yk/fDDD1q/fr3at2/v1tPJcdr55JNPFBMTo4CAAO3YscNxAomJiZo4cWKuijhw4IBq1qzp2H/Hjh01ceJETZ06VV9++WWu9gkAgGlsNteWAoZsAQDADbiQKxISEhQaGuq0JCQkZHmYp59+Wvfdd59q1KihwoULq0GDBnr88cfVq1cvt55OjhsREyZM0PTp0zVjxgynZ3M3b95c27dvz1URfn5+Sk5OliR9/fXXatu2rSQpLCzM8W0GAAD5BiMicoRsAQDADbiQK+Li4pSYmOi0xMXFZXmYDz/8UPPnz9eCBQu0fft2zZkzR6+88ormzJnj1tPJ8WSVu3btUsuWLTOtDw0N1ZkzZ3JVRIsWLRQbG6vmzZvr+++/18KFCyVJu3fvVtmyZXO1TwAATFMARzW4gmwBAMANuJAt7Ha77HZ7trZ98sknHaMiJKlOnTr6448/lJCQoL59++a6hqvl+GuXiIgI7d27N9P69evXq3Llyrkq4s0331ShQoX08ccfa9q0aSpTpowk6csvv1S7du1ytU8AAEzDrRk5QrYAAOAGPJQrkpOT5ePj3Cbw9fVVRkaGO88m5yMiHn74YT322GOaNWuWbDabDh8+rI0bN2rkyJEaPXp0roooX768li5dmmn9a6+9lqv9AQCA/INsAQCAd+jYsaOef/55lS9fXrVq1dKOHTs0adIkPfjgg249To4bEU8//bQyMjJ0xx13KDk5WS1btpTdbtfIkSM1bNiwXBeSnp6uxYsX67fffpMk1apVS/fcc498fX1zvU8AAEzhwXke1q1bp5dfflnbtm3TkSNHtGjRInXu3Nnxer9+/TLd1xkTE6Ply5d7rMYbIVsAAHADHsoWb7zxhkaPHq1HHnlEx48fV2RkpAYNGqQxY8a49Tg2wzCM3LwxNTVVe/fuVVJSkmrWrKng4OBcF7F371516NBBf//9t6pXry7p3/tFy5Urp2XLlqlKlSo522HyP7muBdYSf3Nps0uAFxm7/iezS4CXsBWvkaf7z5jRyaX3+zz8Wba3/fLLL/Xdd9+pYcOG6tq1a5aNiGPHjum9995zrLPb7SpWrJhLNeYFsgXyg5+7lDS7BHiJ2ouOm10CvElg8TzdvSvZIie5wlNyPCLiMj8/P8djsVw1fPhwValSRZs2bVJYWJgk6eTJk+rdu7eGDx+uZcuWueU4AAB4hAdHRLRv3/6Gz/a22+2KiIjwUEW5R7YAAOAaLPZUrRw3Itq0aSPbdSa8+Oabb3JcxNq1a52CgiSFh4frhRdeUPPmzXO8PwAATOXihJMpKSlKSUlxWpeTGa+vtmbNGpUsWVLFihXT7bffrgkTJig8PNylGt2JbAEAwA1YbDLrHDci6tev7/RzWlqadu7cqZ9//jnXj/Ow2+06d+5cpvVJSUny8/PL1T4BADCNi99aJCQkaNy4cU7rxo4dq/j4+Bzvq127duratasqVaqkffv26ZlnnlH79u21ceNGr5krgWwBAMANFPQREdeabTo+Pl5JSUm5KuLuu+/WwIED9e677+qWW26RJG3evFmDBw/WPffck6t9AgCQX8XFxSk2NtZpXW5HQ1x+Drj077PA69atqypVqmjNmjW64447XKrTXcgWAAAULG5rq/Tu3VuzZs3K1XunTJmiqKgoNWvWTP7+/vL391fz5s0VFRWl119/3V0lAgDgGa4869tmk91uV0hIiNOS20bE1SpXrqzixYtr7969btlfXiJbAADw/7mSLbxQriervNrGjRvl7++fo/dkZGTo5Zdf1ueff67U1FR17txZffv2lc1m00033aSoqCh3lQcAgOd48fDJv/76SydPnlTp0t7/VCGyBQAA/58XZ4vcyHEjomvXrk4/G4ahI0eOaOvWrRo9enSO9vX8888rPj5e0dHRCggI0BdffKHQ0NBcf/sBAIBX8OC3D0lJSU6jGw4cOKCdO3cqLCxMYWFhGjdunLp166aIiAjt27dPTz31lKKiohQTE+OxGm+EbAEAwA146ciG3MpxIyI0NNTpZx8fH1WvXl3jx49X27Ztc7SvuXPn6q233tKgQYMkSV9//bXuuusuzZw5Uz4+1ur4AAAKEA9+a7F161a1adPG8fPluSX69u2radOm6ccff9ScOXN05swZRUZGqm3btnruuefcdquHO5AtAAC4gYI8IiI9PV39+/dXnTp1VKxYMZcPfujQIXXo0MHxc3R0tGw2mw4fPqyyZcu6vH8AAEzhwW8tWrduLcMwrvn6ihUrPFZLbpAtAADIBouNiMhRW8XX11dt27bVmTNn3HLwS5cuZbr3s3DhwkpLS3PL/gEAMIXNx7WlACFbAACQDRbLFTm+NaN27drav3+/KlWq5PLBDcNQv379nIaHXrx4UYMHD1ZQUJBj3aeffurysQAAgHciWwAAULDkuBExYcIEjRw5Us8995waNmzodFGXpJCQkGzvq2/fvpnW9e7dO6clAQDgXSw2fDKvkS0AALgBi2WLbDcixo8fryeeeMJx3+U999wj2xW/DMMwZLPZlJ6enu2Dv/feezkoFQCAfMJLh0F6G7IFAADZZLFske1GxLhx4zR48GCtXr06L+sBACD/s9i3FnmF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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.918919 | 0.918919 |   0.918919 |  37        |\n',
      '| 2            |    0.914286 | 0.914286 |   0.914286 |  35        |\n',
      '| accuracy     |    0.942857 | 0.942857 |   0.942857 |   0.942857 |\n',
      '| macro avg    |    0.944402 | 0.944402 |   0.944402 | 105        |\n',
      '| weighted avg |    0.942857 | 0.942857 |   0.942857 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    0.928571 | 1        |   0.962963 | 13        |\n',
      '| 2            |    1        | 0.933333 |   0.965517 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.97619  | 0.977778 |   0.97616  | 45        |\n',
      '| weighted avg |    0.979365 | 0.977778 |   0.977806 | 45        |\n']}],
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'nb_score = evaluate_model(nb_model, x_train, x_test, y_train, y_test)']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['Naive Bayes'] = nb_score\n",
    'score'],
   'metadata': {'id': 'Ck9Gav7DLYre',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'ed619d69-7d3a-498f-a468-7a5bdaf71543'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  \\\n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000   \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167   \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000   \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778   \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000   \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778   \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000   \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692   \n',
       '\n',
       '                 XGB tuned  Naive Bayes  \n',
       'Precision Train   1.000000     0.942857  \n',
       'Precision Test    0.979167     0.979365  \n',
       'Recall Train      1.000000     0.942857  \n',
       'Recall Test       0.977778     0.977778  \n',
       'Accuracy Train    1.000000     0.942857  \n',
       'Accuracy Test     0.977778     0.977778  \n',
       'F1 macro Train    1.000000     0.942857  \n',
       'F1 macro Test     0.977692     0.977806  '],
      'text/html': ['\n',
       '  <div id="df-4006b32d-a6da-4008-9643-c57c3f1d83ec" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '      <th>XGB tuned</th>\n',
       '      <th>Naive Bayes</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979365</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977806</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-4006b32d-a6da-4008-9643-c57c3f1d83ec\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-4006b32d-a6da-4008-9643-c57c3f1d83ec button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-4006b32d-a6da-4008-9643-c57c3f1d83ec');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-034ca9a4-8def-4156-bca7-1d13f4b99e64">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-034ca9a4-8def-4156-bca7-1d13f4b99e64\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-034ca9a4-8def-4156-bca7-1d13f4b99e64 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 156}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'zhaPpYXo_6FF'},
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'VTUMYNH3_6FG',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '0c6961a6-e8cc-40c0-fa62-5e51afd163bd'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'var_smoothing': 0.0001519911082952933}\n"]}],
   'source': ['# ML Model - 6 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "param_grid = {'var_smoothing': np.logspace(0,-9, num=100)}\n",
    '\n',
    '# Initialize the model\n',
    'naive = GaussianNB()\n',
    '\n',
    '# repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=4, n_repeats=4, random_state=0)\n',
    '\n',
    '# Initialize GridSearchCV\n',
    'GridSearch = GridSearchCV(naive, param_grid, cv=rskf, n_jobs=-1)\n',
    '\n',
    '# Fit the GridSearchCV to the training data\n',
    'GridSearch.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = GridSearch.best_params_\n',
    'print("Best hyperparameters: ", best_params)']},
  {'cell_type': 'code',
   'source': ['# Initiate model with best parameters\n',
    "nb_model2 = GaussianNB(var_smoothing = best_params['var_smoothing'])"],
   'metadata': {'id': 'A0qQ_EXBMKi6'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'nb2_score = evaluate_model(nb_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': '2hSfSTH8Mnb-',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': '9b325178-a7f9-4b3c-a1c8-4aea75143ab4'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrZ0lEQVR4nO3dd3gUZdv+8XMTyKaRQEIJoUMo0hEQKVI0EkCR5gNKERCliKBEFOMjEBCJFRFFUBApDyg2UEBBRIpIkWqXjqhUKYEQSEIyvz/8sS9LAiTZzc5m8v0cxxyvmZ2duSbZhznfa++5x2YYhiEAAAAAAAAP8DG7AAAAAAAAUHDQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGX169dPFStWNLsMtzp27JjuvfdehYeHy2azafLkyW4/hs1mU3x8vNv3m19Z8XMEACjYyBOeR54AnNGIgMfZbLZsLWvWrDG71CwdO3ZMI0eOVI0aNRQYGKigoCA1bNhQEyZM0JkzZ/L02CNGjNCKFSsUFxenefPmqV27dnl6PE+Kj4+XzWaTj4+P/vzzz0yvnz17VgEBAbLZbHr00UdzvP/k5GTFx8d77ecKAOA+nswaub2+kCfyBnkCyB8KmV0ACp558+Y5/Tx37lytXLky0/qbbrrJpePMmDFDGRkZLu3jalu2bFGHDh2UlJSk3r17q2HDhpKkrVu36oUXXtC6dev01VdfufWYV/rmm2/UqVMnjRw5Ms+OceHCBRUqZN4/DXa7Xe+//76eeuopp/WffvqpS/tNTk7WuHHjJEmtW7fO9vvy4nMEAMhbnsoaUu6uL+SJvEeeALwbjQh4XO/evZ1+3rRpk1auXJlp/dWSk5MVGBiY7eMULlw4V/Vdy5kzZ9SlSxf5+vpqx44dqlGjhtPrzz//vGbMmOHWY17t+PHjKlq0aJ4ew9/fP0/3fyMdOnTIMjgsWLBAd911lz755BOP1HH+/HkFBQW5/XMEAMh7uc0ankCe8AzyBODduDUDXql169aqXbu2tm3bppYtWyowMFDPPPOMJOmzzz7TXXfdpcjISNntdlWpUkXPPfec0tPTnfZx9b14Bw8elM1m0yuvvKJ33nlHVapUkd1uV+PGjbVly5Yb1vT222/r77//1qRJkzKFBkkqVaqUnn32Wad1b731lmrVqiW73a7IyEgNHTo003DLy+f666+/qk2bNgoMDFSZMmX00ksvObaZPXu2bDabDMPQ1KlTHUNKpf8bgni1y+85ePCgY93WrVsVExOj4sWLKyAgQJUqVdKDDz7o9L6s7uncsWOH2rdvr5CQEAUHB+uOO+7Qpk2bsjzed999p9jYWJUoUUJBQUHq0qWLTpw4cc3f69V69uypnTt36vfff3esO3r0qL755hv17Nkz0/apqakaM2aMGjZsqNDQUAUFBem2227T6tWrHdscPHhQJUqUkCSNGzfO8fu7fJ79+vVTcHCw9u3bpw4dOqhIkSLq1auX47UrP0djx46Vj4+PVq1a5VTHwIED5efnpx9++CHb5woAME9GRoYmT56sWrVqyd/fX6VKldKgQYN0+vRpp+2ud+280fUlK+QJ8oREngAYEQGvdfLkSbVv31733XefevfurVKlSkn69wIVHBys2NhYBQcH65tvvtGYMWN09uxZvfzyyzfc74IFC3Tu3DkNGjRINptNL730krp27ar9+/dft1v9+eefKyAgQPfee2+26o+Pj9e4ceMUHR2tIUOGaNeuXZo2bZq2bNmi7777zulYp0+fVrt27dS1a1d1795dH3/8sUaNGqU6deqoffv2atmypebNm6c+ffrozjvv1AMPPJCtGq50/PhxtW3bViVKlNDTTz+tokWL6uDBgzccovjLL7/otttuU0hIiJ566ikVLlxYb7/9tlq3bq21a9eqSZMmTtsPGzZMxYoV09ixY3Xw4EFNnjxZjz76qBYuXJitOlu2bKmyZctqwYIFGj9+vCRp4cKFCg4O1l133ZVp+7Nnz2rmzJm6//779fDDD+vcuXN69913FRMTo++//17169dXiRIlNG3aNA0ZMkRdunRR165dJUl169Z17OfSpUuKiYlRixYt9Morr1xz9M2zzz6rJUuWaMCAAfrpp59UpEgRrVixQjNmzNBzzz2nevXqZes8AQDmGjRokGbPnq3+/ftr+PDhOnDggN58803t2LHDcZ2+0bUzO9eXq5EnyBMSeQKQAZhs6NChxtUfxVatWhmSjOnTp2faPjk5OdO6QYMGGYGBgcbFixcd6/r27WtUqFDB8fOBAwcMSUZ4eLhx6tQpx/rPPvvMkGQsWbLkunUWK1bMqFevXrbO6fjx44afn5/Rtm1bIz093bH+zTffNCQZs2bNcqy7fK5z5851rEtJSTEiIiKMbt26Oe1XkjF06FCndWPHjs30+zMMw3jvvfcMScaBAwcMwzCMRYsWGZKMLVu2XLd2ScbYsWMdP3fu3Nnw8/Mz9u3b51h3+PBho0iRIkbLli0zHS86OtrIyMhwrB8xYoTh6+trnDlz5rrHvXweJ06cMEaOHGlERUU5XmvcuLHRv3//LH8Hly5dMlJSUpz2dfr0aaNUqVLGgw8+6Fh34sSJTOd2Wd++fQ1JxtNPP53la1d+jgzDMH766SfDz8/PeOihh4zTp08bZcqUMRo1amSkpaVd9xwBAOa4Omt8++23hiRj/vz5TtstX77caX12rp3Xu75khTxBnriMPIGCjFsz4LXsdrv69++faX1AQIDjv8+dO6d//vlHt912m5KTk52G311Ljx49VKxYMcfPt912myRp//79133f2bNnVaRIkWzV/vXXXys1NVWPP/64fHz+739mDz/8sEJCQrRs2TKn7YODg53uW/Xz89Mtt9xyw5py4vK9oEuXLlVaWlq23pOenq6vvvpKnTt3VuXKlR3rS5curZ49e2r9+vU6e/as03sGDhzoNLTztttuU3p6uv74449s19qzZ0/t3btXW7ZscfzfrIZRSpKvr6/8/Pwk/TvM9tSpU7p06ZIaNWqk7du3Z/uYkjRkyJBsbVe7dm2NGzdOM2fOVExMjP755x/NmTPH1Em5AADZ99FHHyk0NFR33nmn/vnnH8fSsGFDBQcHO4bj5+baeSPkCfLEZeQJFGQ0IuC1ypQp47ggXOmXX35Rly5dFBoaqpCQEJUoUcJx0U1MTLzhfsuXL+/08+WmxNX3hF4tJCRE586dy1btly+S1atXd1rv5+enypUrZ7qIli1bNtN9mcWKFbthTTnRqlUrdevWTePGjVPx4sXVqVMnvffee0pJSbnme06cOKHk5ORM5yH9O9N4RkZGpkdj5fb3e6UGDRqoRo0aWrBggebPn6+IiAjdfvvt19x+zpw5qlu3rvz9/RUeHq4SJUpo2bJl2fo8XFaoUCGVLVs229s/+eSTqlevnr7//nuNHTtWNWvWzPZ7AQDm2rNnjxITE1WyZEmVKFHCaUlKStLx48cl5e7aeSPkCWfkCfIECibabfBaV458uOzMmTNq1aqVQkJCNH78eFWpUkX+/v7avn27Ro0ala3HIvn6+ma53jCM676vRo0a2rlzp1JTU7NskLgitzVJynJiKUmZJu+02Wz6+OOPtWnTJi1ZskQrVqzQgw8+qFdffVWbNm1ScHBwzgvPgivncqWePXtq2rRpKlKkiHr06OH0TdCV/ve//6lfv37q3LmznnzySZUsWVK+vr5KSEjQvn37sn08u91+zWNkZf/+/dqzZ48k6aeffsr2+wAA5svIyFDJkiU1f/78LF+/PCFhXlw7yRPZQ54ArI0REchX1qxZo5MnT2r27Nl67LHHdPfddys6OtrpVou80rFjR124cCFbj3uqUKGCJGnXrl1O61NTU3XgwAHH6+5w+dyvnj37WkMXb731Vj3//PPaunWr5s+fr19++UUffPBBltuWKFFCgYGBmc5Dkn7//Xf5+PioXLlyrp3ANfTs2VNHjhzR7t27rzmMUpI+/vhjVa5cWZ9++qn69OmjmJgYRUdH6+LFi07bXStg5UZGRob69eunkJAQPfPMM3r//fddfi45AMBzqlSpopMnT6p58+aKjo7OtFw9UeD1rp05vb6QJ5yRJ8gTKJhoRCBfudwdv7IbnpqaqrfeeivPjz148GCVLl1aTzzxhHbv3p3p9ePHj2vChAmSpOjoaPn5+WnKlClOtb777rtKTEzMcrbm3KpSpYokad26dY5158+f15w5c5y2O336dKZvEerXry9J1xxO6evrq7Zt2+qzzz5zemzXsWPHtGDBArVo0UIhISFuOIvMqlSposmTJyshIUG33HLLNbfL6jOxefNmbdy40Wm7y7NWXx2wcmPSpEnasGGD3nnnHT333HNq1qyZhgwZon/++cflfQMA8l737t2Vnp6u5557LtNrly5dclwrsnPtzOn1hTxx0LGePEGeQMHFrRnIV5o1a6ZixYqpb9++Gj58uGw2m+bNm5fjYXq5UaxYMS1atEgdOnRQ/fr11bt3bzVs2FCStH37dr3//vtq2rSppH87/3FxcRo3bpzatWune+65R7t27dJbb72lxo0bO00k5aq2bduqfPnyGjBggJ588kn5+vpq1qxZKlGihA4dOuTYbs6cOXrrrbfUpUsXValSRefOndOMGTMUEhKiDh06XHP/EyZM0MqVK9WiRQs98sgjKlSokN5++22lpKQ4PZs8Lzz22GM33Obuu+/Wp59+qi5d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tsC/4reTLQBkwYuzhTfmCq+4NeN///ufkpOT5efnp5o1a+qWW27JdVAAAMBsPL7TfGQLAICVWC1XeEUjYsSIESpZsqR69uypL774Qunp6WaXBABArnlqjohp06apbt26CgkJUUhIiJo2baovv/zS8frFixc1dOhQhYeHKzg4WN26ddOxY8fy4Iy9D9kCAGAlVpsjwisaEUeOHNEHH3wgm82m7t27q3Tp0ho6dKg2bNhgdmkAAHitsmXL6oUXXtC2bdu0detW3X777erUqZN++eUXSf/+P+NLlizRRx99pLVr1+rw4cPq2rWryVV7BtkCAADv5VVzREhScnKyFi1apAULFujrr79W2bJltW/fvhztgzkicBlzRADIUh7fxzm3sWtzRDywJff3coaFhenll1/WvffeqxIlSmjBggW69957JUm///67brrpJm3cuFG33nqrSzXmJ+7IFswRgcuYIwJAlrw4W7iSK/KKVzw140qBgYGKiYnR6dOn9ccff+i3334zuyQAAHLE1WGQKSkpSklJcVpnt9tlt9uv+Z709HR99NFHOn/+vJo2bapt27YpLS1N0dHRjm1q1Kih8uXLF7hGBNkCAJDfeestFrnlFbdmSP9+WzF//nx16NBBZcqU0eTJk9WlSxfH8FIAAPILHxeXhIQEhYaGOi0JCQlZHuunn35ScHCw7Ha7Bg8erEWLFqlmzZo6evSo/Pz8VLRoUaftS5UqpaNHj+bBWXsfsgUAwCpcyRXeyCtGRNx3331aunSpAgMD1b17d40ePVpNmzY1uywAAHLF1W8t4uLiFBsb67TuWqMhqlevrp07dyoxMVEff/yx+vbtq7Vr17pWgAWQLQAAVmK1ERFe0Yjw9fXVhx9+qJiYGPn6+ppdDgAALnE1K9zoNowr+fn5KSoqSpLUsGFDbdmyRa+//rp69Oih1NRUnTlzxmlUxLFjxxQREeFihd6PbAEAsBKL9SG8oxExf/58s0sAAMASMjIylJKSooYNG6pw4cJatWqVunXrJknatWuXDh06VCBGBpAtAADwXqY1IqZMmaKBAwfK399fU6ZMue62w4cP91BVAAC4zsdDX1vExcWpffv2Kl++vM6dO6cFCxZozZo1WrFihUJDQzVgwADFxsYqLCxMISEhGjZsmJo2bWrZiSrJFgAAq/JUtvAU0xoRr732mnr16iV/f3+9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Zxo5cT05bkS88cYbmjFjhv773//K19fXsb5Ro0b66aefcro7AACsx+bj2pJLiYmJkqSwsDBJ0rZt25SWlqbo6GjHNjVq1FD58uW1ceNG187RjcgWAADcgAm5IisHDhzQ0aNHnbJFaGiomjRpkqNska3JKq8+cIMGDTKtt9vtTkNBAQAoqGw+rk0olZKSopSUFKd1drtddrv9mu/JyMjQ448/rubNm6t27dqSpKNHj8rPz09FixZ12rZUqVI6evSoSzW6E9kCAIDrcyVb5CZXXMvl/FCqVCmn9TnNFjluj1SqVEk7d+7MtH758uW66aabcro7AACsx8U5IhISEhQaGuq0JCQkXPeQQ4cO1c8//6wPPvjAQyfpPmQLAABuwMO5Iq/leEREbGyshg4dqosXL8owDH3//fd6//33lZCQoJkzZ+ZFjQAAFChxcXGKjY11Wne9by0effRRLV26VOvWrVPZsmUd6yMiIpSamqozZ844jYo4duyYIiIi3F53bpEtAADIOznNFddzOT8cO3ZMpUuXdqw/duyY6tevn+395LgR8dBDDykgIEDPPvuskpOT1bNnT0VGRur111/Xfffdl9PdAQBgPS7ej5nd4ZKGYWjYsGFatGiR1qxZo0qVKjm93rBhQxUuXFirVq1St27dJEm7du3SoUOH1LRpU5dqdCeyBQAAN+BCtsjtbRhZqVSpkiIiIrRq1SpH4+Hs2bPavHmzhgwZku395LgRIUm9evVSr169lJycrKSkJJUsWTI3u3Hy7bff6u2339a+ffv08ccfq0yZMpo3b54qVaqkFi1auLx/AAA8JTczVOfG0KFDtWDBAn322WcqUqSI497M0NBQBQQEKDQ0VAMGDFBsbKzCwsIUEhKiYcOGqWnTprr11ls9UmN2kS0AALg2T2ULSUpKStLevXsdPx84cEA7d+5UWFiYypcvr8cff1wTJkxQ1apVValSJY0ePVqRkZHq3Llzto+R67bK8ePHtW3bNu3atUsnTpzI7W4kSZ988oliYmIUEBCgHTt2OCbSSExM1MSJE13aNwAAHufiHBHZNW3aNCUmJqp169YqXbq0Y1m4cKFjm9dee0133323unXrppYtWyoiIkKffvppXpy1y8gWAABcgwdyxWVbt25VgwYNHBNJx8bGqkGDBhozZowk6amnntKwYcM0cOBANW7cWElJSVq+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SUny8/PL1T4BADCNi99aJCQkaNy4cU7rxo4dq/j4+Bzvq127duratasqVaqkffv26ZlnnlH79u21ceNGr5krgWwBAMANFPQREdeabTo+Pl5JSUm5KuLuu+/WwIED9e677+qWW26RJG3evFmDBw/WPffck6t9AgCQX8XFxSk2NtZpXW5HQ1x+Drj077PA69atqypVqmjNmjW64447XKrTXcgWAAAULG5rq/Tu3VuzZs3K1XunTJmiqKgoNWvWTP7+/vL391fz5s0VFRWl119/3V0lAgDgGa4869tmk91uV0hIiNOS20bE1SpXrqzixYtr7969btlfXiJbAADw/7mSLbxQriervNrGjRvl7++fo/dkZGTo5Zdf1ueff67U1FR17txZffv2lc1m00033aSoqCh3lQcAgOd48fDJv/76SydPnlTp0t7/VCGyBQAA/58XZ4vcyHEjomvXrk4/G4ahI0eOaOvWrRo9enSO9vX8888rPj5e0dHRCggI0BdffKHQ0NBcf/sBAIBX8OC3D0lJSU6jGw4cOKCdO3cqLCxMYWFhGjdunLp166aIiAjt27dPTz31lKKiohQTE+OxGm+EbAEAwA146ciG3MpxIyI0NNTpZx8fH1WvXl3jx49X27Ztc7SvuXPn6q233tKgQYMkSV9//bXuuusuzZw5Uz4+1ur4AAAKEA9+a7F161a1adPG8fPluSX69u2radOm6ccff9ScOXN05swZRUZGqm3btnruuefcdquHO5AtAAC4gYI8IiI9PV39+/dXnTp1VKxYMZcPfujQIXXo0MHxc3R0tGw2mw4fPqyyZcu6vH8AAEzhwW8tWrduLcMwrvn6ihUrPFZLbpAtAADIBouNiMhRW8XX11dt27bVmTNn3HLwS5cuZbr3s3DhwkpLS3PL/gEAMIXNx7WlACFbAACQDRbLFTm+NaN27drav3+/KlWq5PLBDcNQv379nIaHXrx4UYMHD1ZQUJBj3aeffurysQAAgHciWwAAULDkuBExYcIEjRw5Us8995waNmzodFGXpJCQkGzvq2/fvpnW9e7dO6clAQDgXSw2fDKvkS0AALgBi2WLbDcixo8fryeeeMJx3+U999wj2xW/DMMwZLPZlJ6enu2Dv/feezkoFQCAfMJLh0F6G7IFAADZZLFske1GxLhx4zR48GCtXr06L+sBACD/s9i3FnmFbAEAQDZZLFtkuxFxeUbuVq1a5VkxAABYgsW+tcgrZAsAALLJYtkiR3NE2CzWhQEAIE9wvcw2sgUAANlgsetljhoR1apVu2FgOHXqlEsFAQCAgoNsAQBAwZOjRsS4ceMUGhqaV7UAAGANFhs+mZfIFgAAZIPFskWOGhH33XefSpYsmVe1AABgDT7WGj6Zl8gWAABkg8WyRbYbEdzDCQBANnHNzBayBQAA2WSxa2aOn5oBAABuwGLDJ/MK2QIAgGyyWLbIdiMiIyMjL+sAAMA6LPatRV4hWwAAkE0WyxbWaqsAAAAAAACvlqPJKgEAQDZYbPgkAAAwmcWyBY0IAADczWJhAQAAmMxi2cJaZwMAgDew+bi2AAAAXMmDueLvv/9W7969FR4eroCAANWpU0dbt2516+kwIgIAAHez2IRSAADAZB7KFqdPn1bz5s3Vpk0bffnllypRooT27NmjYsWKufU4NCIAAHA3RjUAAAB38lC2ePHFF1WuXDm99957jnWVKlVy+3FISgAAAAAAWFRKSorOnj3rtKSkpGS57eeff65GjRrpP//5j0qWLKkGDRpoxowZbq+JRgQAAO7GHBEAAMCdXMgVCQkJCg0NdVoSEhKyPMz+/fs1bdo0Va1aVStWrNCQIUM0fPhwzZkzx62nw60ZAAC4G3NEAAAAd3IhW8TFxSk2NtZpnd1uz3LbjIwMNWrUSBMnTpQkNWjQQD///LOmT5+uvn375rqGq9GIAADA3RjVAAAA3MmFbGG326/ZeLha6dKlVbNmTad1N910kz755JNcHz8rNCIAAHA3GhEAAMCdPJQtmjdvrl27djmt2717typUqODW49CIAADA3WhEAAAAd/JQthgxYoSaNWumiRMnqnv37vr+++/1zjvv6J133nHrcUhKAAC4m83m2gIAAHAlD+WKxo0ba9GiRXr//fdVu3ZtPffcc5o8ebJ69erl1tNhRAQsbez6n8wuAV7kjTvqmF0CvMTwH9LMLgFAPlX7g71mlwAv8XW7UmaXAC8SvS7d7BLc5u6779bdd9+dp8egEQEAgLtxawYAAHAni2ULGhEAALibxcICAAAwmcWyBY0IAADczcdaYQEAAJjMYtmCRgQAAO7GhJMAAMCdLJYtaEQAAOBuFhs+CQAATGaxbGGtswEAAAAAAF6NEREAALibxb61AAAAJrNYtrDW2QAA4A1sNteWHFi3bp06duyoyMhI2Ww2LV682Ol1wzA0ZswYlS5dWgEBAYqOjtaePXvceLIAACDPeShXeAqNCAAA3M3m49qSA+fPn1e9evU0derULF9/6aWXNGXKFE2fPl2bN29WUFCQYmJidPHiRXecKQAA8AQP5QpP4dYMAADczYMX/fbt26t9+/ZZvmYYhiZPnqxnn31WnTp1kiTNnTtXpUqV0uLFi3Xfffd5rE4AAOACL20o5Ja1zgYAAG/g4oiIlJQUnT171mlJSUnJcRkHDhzQ0aNHFR0d7VgXGhqqJk2aaOPGje48YwAAkJcsNiLCO6sCAKAAS0hIUGhoqNOSkJCQ4/0cPXpUklSqVCmn9aVKlXK8BgAA4GncmgEAgLu5ODFUXFycYmNjndbZ7XaX9gkAAPIxL510MrdoRAAA4G4uDoO02+1uaTxERERIko4dO6bSpUs71h87dkz169d3ef8AAMBDvPQWi9yy1tkAAOANPPjUjOupVKmSIiIitGrVKse6s2fPavPmzWratKnbjgMAAPKYF+QKd2JEBAAA7ubB4ZNJSUnau3ev4+cDBw5o586dCgsLU/ny5fX4449rwoQJqlq1qipVqqTRo0crMjJSnTt39liNAADARdyaAQAArsuD3z5s3bpVbdq0cfx8eW6Jvn37avbs2Xrqqad0/vx5DRw4UGfOnFGLFi20fPly+fv7e6xGAADgIi8d2ZBbNCIAAHA3D4aF1q1byzCMa5dis2n8+PEaP368x2oCAABuZrFGhLXOBgAAAAAAeDVGRAAA4G4W+9YCAACYzGLZgkYEAADu5mOtCaUAAIDJLJYtaEQAAOBuFvvWAgAAmMxi2YJGBAAA7maxsAAAAExmsWxBIwIAAHezWFgAAAAms1i2sNbZAAAAAAAAr0YjAgAAd7PZXFsAAACuZFKueOGFF2Sz2fT444+75zz+P27NAADA7WgmAAAAd/J8ttiyZYvefvtt1a1b1+37ZkQEAADuZvNxbQEAALiSh3NFUlKSevXqpRkzZqhYsWJuPhkaEQAAuB+3ZgAAAHdyIVekpKTo7NmzTktKSsp1Dzd06FDdddddio6OzpPToREBAIDb+bi4AAAAXCn3uSIhIUGhoaFOS0JCwjWP9MEHH2j79u3X3cZVzBEBAAAAAIBFxcXFKTY21mmd3W7Pcts///xTjz32mFauXCl/f/88q4lGBAAA7sbtFQAAwJ1cyBZ2u/2ajYerbdu2TcePH9fNN9/sWJeenq5169bpzTffVEpKinx9fXNdy2U0IgAAcDcaEQAAwJ08lC3uuOMO/fTTT07r+vfvrxo1amjUqFFuaUJINCIAAMgDzPMAAADcyTPZokiRIqpdu7bTuqCgIIWHh2da7woaEQAAuBsjIgAAgDtZLFvQiAAAwN0sFhYAAIDJTMwWa9ascfs+GTsKAAAAAAA8hhERAAC4HX1+AADgTtbKFjQiAABwN27NAAAA7mSxbEEjAgAAd7NZ61sLAABgMotlCxoRAAC4nbW+tQAAAGazVragEQEAgLtZbPgkAAAwmcWyBY0IAADczWLDJwEAgMksli2sdTYAAAAAAMCr0YiwoPkLP9HtHbqpTpM2+k+fh/Xjz7+aXRJM8P6iL3XPA8PV8M771PDO+9Rj4FNat3Gb2WXBA+r8Z5B6frRdg787qcHfndR/5n6rCs1jJEn2kGJq9fRk9fnsZz2y+az6L9+nlqNek19wiMlVW4vNZnNpAbwN2QKStGXHTxr8xFi1uLuXqt/aXl+v3WB2SfCQovVuU72Ez3Tbp38qel26SrTodM1tazzxlqLXpavcf4Z7sELrs1quoBFhMV+s+FoJr76hoYMe1KIFs1SjWpQGPBKrk6dOm10aPKxUiXA9MfgBfTJrkj5+91Xd2rCOhj49UXv2HzK7NOSxpON/6bvXn9H79zfRBz1v1V/fr9bdr3+qsCo1FVQyUkElSmv9pFGa362+Vo4ZoArN2yo6/h2zy7YYHxcXwHuQLXBZ8oWLql61ssaOfMTsUuBhvv5BStr3g35/bdh1tytxW2eF1myiiyf+9lBlBYm1coV3VoVce+9/C9W9a0d163SXoqpU0rj/Pil/f7s+WbzU7NLgYbe3uEWtmjVSxXKRqlS+jEYM6qPAAH/98Msus0tDHjuwdpn+WL9ciYf26swfe7TxzTFKS05SRN0mOrX3F33xRA8dWLtMiX/t11/fr9HGN8aoUqu7ZfP1Nbt067DZXFsAL0K2wGWtmjXWiMF9dWfr5maXAg87uXm59s0coxPfLr7mNvbikar+2Ov6+bk+Mi6lea64gsJiuYJGhIWkpqXpl992qVmTxo51Pj4+atakkXb8+LOJlcFs6enpWvb1OiVfvKj6taubXQ48yObjo6rtuqtwQJCO/rApy23swaFKTTorIz3dw9VZGI0IWATZAkC22Gyq9ewc/fHBKzp/kFu38oTFcgVPzbCQ06fPKD09XeFhYU7rw8PDtP8gw/ELol37Dur+QaOUkpqqwIAAvTkxTlGVyptdFjwgPKq2/jPvWxXy81dacpKWjrhXp/b/lmk7/6LhajzwGf38yUwTqrQy+vywBrIFgOyo2PMpGenp+vPjN8wuxcKslS1oRAAWVql8GS2aPVnnks5rxeoNevr51zXvzedpRhQApw/u0vvdG8kvOFRV7+yqts/N0icD7nBqRvgFFdE9b36uU/t/0+bp402sFgAA5FdFqt2scvcO1+aHGpldCvIRGhEWUqxYUfn6+urkqVNO60+ePKXi4WHXeBeszK9wYVUoW1qSVLtGlH7+fY/mfrRU459ikimry7iUpsQ/90mSTvy2XSVrNVK9XsO0+rl///aFA4PV6a1lSj1/TstG3KuMS5fMLNd6vHQYJJBTZAsAN1K0Xgv5FSupFh8ddKzzKVRI1R55ReXvfUzf9ahiXnFWYrFsYa3xHQWcX+HCqnVTdW3cvNWxLiMjQxu/36YGdWubWBm8RUaGodRUJg8qiGw+PvItbJf070iIztO/VHpaqpY+1kXpqSkmV2dBHpojIj4+PtMjumrUqJGHJ4aChmwB4EaOrvifNvWvr80DbnYsF0/8rT8+eEU7RrY3uzzrYI4IeLP+vXto1JjnVbtmDdWtXVNzFnyoCxcuqmunu8wuDR726rS5atm0oUqXKq7zyRe09Kt1+n7Hz5o5Kd7s0pDHmg2foIPrl+vc0T/lF1hE1Tvcp7KNWmnxkA6OJkQh/0B99Uxf+QWFyC8oRJJ04fQJGRkZJldvFZ7r89eqVUtff/214+dChbi0w73IFrjsfPIFHfrrsOPnvw4f02+79yk0pIgiI0qaWBnymm9AkALKRDl+DihdUcFR9ZR29pRSjv+ptLPOo6aMS2lKOXVUyX/u9nSpFmatMQSkFYvpEBOtU6fPaMq0mTpx8pRuql5VM6e+yvDJAujUmUSNem6yTpw8pSJBQaoeVUEzJ8Wr+S31zS4NeSwgrKTaTnhPQSVKKyUpUf/s/kmLh3TQn5tWqUyjloqo20SS1HeZ86Nc32sfpXOH/zCjZOvx4LcPhQoVUkREhMeOh4KHbIHLfv5tjx4YOsrxc8Lr70iSunSI1gtjnjCrLHhASPVGajjlG8fP1YZNkiQd/nKOfk140KyyChYvHdmQWzbDMAyzi3C75H/MrgBewuCzgCu8cUcds0uAlxj+Q97eomT8udGl99vKNc3WdvHx8Xr55ZcVGhoqf39/NW3aVAkJCSpfnglp3Y7rCS5LOWt2BfASX3eqanYJ8CLR6/L2MeiuZIvs5gpPYkQEAABeJiUlRSkpznN32O122e12p3VNmjTR7NmzVb16dR05ckTjxo3Tbbfdpp9//llFihTxZMkAAADZZq0bTQAA8Ao2l5aEhASFhoY6LQkJCZmO0r59e/3nP/9R3bp1FRMToy+++EJnzpzRhx9+6ImTBAAAHuNKtvA+jIgAAMDdXLyPMy4uTrGxsU7rrh4NkZWiRYuqWrVq2rt3r0vHBwAAXsZic0TQiAAAwN1srg04zOo2jOxISkrSvn371KdPH5eODwAAvIyL2cLbWOtsAADwBq486zsH33iMHDlSa9eu1cGDB7VhwwZ16dJFvr6+uv/++/Pw5AAAgMd5IFd4Eo0IAADczrU5IrLrr7/+0v3336/q1aure/fuCg8P16ZNm1SiRAl3ngwAADCdZ+aISEhIUOPGjVWkSBGVLFlSnTt31q5du278xhzi1gwAANzNQ8MnP/jgA48cBwAAmMxD2WLt2rUaOnSoGjdurEuXLumZZ55R27Zt9euvvyooKMhtx6ERAQAAAAAAtHz5cqefZ8+erZIlS2rbtm1q2bKl245DIwIAALfzzvsxAQBAfmVOtkhMTJQkhYWFuXW/NCIAAHA3L50YCgAA5FMuZIuUlBSlpKQ4rcvOE7oyMjL0+OOPq3nz5qpdu3auj58VJqsEAMDtPDNZJQAAKChynysSEhIUGhrqtCQkJNzwiEOHDtXPP/+cJ3NSMSICAAB3Y0QEAABwJxeyRVxcnGJjY53W3Wg0xKOPPqqlS5dq3bp1Klu2bK6PfS00IgAAAAAAsKjs3IZxmWEYGjZsmBYtWqQ1a9aoUqVKeVITjQgAAAAAAKChQ4dqwYIF+uyzz1SkSBEdPXpUkhQaGqqAgAC3HYdGBAAA7satGQAAwJ08lC2mTZsmSWrdurXT+vfee0/9+vVz23FoRAAA4HY0IgAAgDt5JlsYhuGR49CIAADA3RgRAQAA3Mli2YJGBAAAbmetsAAAAMxmrWxBIwIAAHez2LcWAADAZBbLFj5mFwAAAAAAAAoORkQAAOB21vrWAgAAmM1a2YJGBAAA7max4ZMAAMBkFssWNCIAAHA7a4UFAABgNmtlCxoRAAC4m8W+tQAAACazWLagEQEAgNtZKywAAACzWStb8NQMAAAAAADgMTQiAAAAAACAx3BrBgAAbmaz2H2cAADAXFbLFjQiAABwO2uFBQAAYDZrZQsaEQAAuJvFvrUAAAAms1i2oBEBAIDbWSssAAAAs1krW9CIAADA3Sz2rQUAADCZxbIFT80AAAAAAAAew4gIAADczlrfWgAAALNZK1vQiAAAwN0sNnwSAACYzGLZgkYEAABuZ62wAAAAzGatbEEjAgAAd7PYtxYAAMBkFssWNCIAAHA7a4UFAABgNmtlC56aAQAAAAAAPIYREQAAuJu1vrQAAABms1i2oBEBAIDbWSwtAAAAk1krW3BrBgAA7mazubbk0NSpU1WxYkX5+/urSZMm+v777/PgpAAAgGk8mCukvM8WNCIAAHA7m4tL9i1cuFCxsbEaO3astm/frnr16ikmJkbHjx9318kAAADTeSZXSJ7JFjQiAABwNw+OiJg0aZIefvhh9e/fXzVr1tT06dMVGBioWbNm5dHJAQAAj/PgiAhPZAsaEQAA5FOpqanatm2boqOjHet8fHwUHR2tjRs3mlgZAADIjzyVLZisEgAAt3NtQqmUlBSlpKQ4rbPb7bLb7U7r/vnnH6Wnp6tUqVJO60uVKqXff//dpRoAAIA3yX22yG6ukDyXLazZiAgsbnYFpktJSVFCQoLi4uKy/IAVFDY+C3wWrjD8hzSzS0BB4eK/PQnx8Ro3bpzTurFjxyo+Pt6l/cIFXE+4nlzGZ4HPwv8XvS7d7BJQkLjwb4835gqbYRiGaUdHnjl79qxCQ0OVmJiokJAQs8uBifgsAPlPdr+5SE1NVWBgoD7++GN17tzZsb5v3746c+aMPvvsM0+UiwKC6wku47MA5C85GRHhqWzBHBEAAHgZu92ukJAQpyWrsODn56eGDRtq1apVjnUZGRlatWqVmjZt6smSAQCAl8purpA8ly2seWsGAAAFRGxsrPr27atGjRrplltu0eTJk3X+/Hn179/f7NIAAEA+5IlsQSMCAIB8rEePHjpx4oTGjBmjo0ePqn79+lq+fHmmSaYAAACywxPZgkaERdntdo0dO7ZATyCEf/FZAKzv0Ucf1aOPPmp2GbA4rie4jM8CYH15nS2YrBIAAAAAAHgMk1UCAAAAAACPoREBAAAAAAA8hkYEJEkVK1bU5MmTzS4DbrRmzRrZbDadOXPmutvxtwcA5AWuL9ZCrgDgTjQiPKBfv36y2Wx64YUXnNYvXrxYNpvNo7XMnj1bRYsWzbR+y5YtGjhwoEdrwb8ufz5sNpv8/PwUFRWl8ePH69KlSy7tt1mzZjpy5IhCQ0Ml8bcHACshW+BayBUA8gMaER7i7++vF198UadPnza7lCyVKFFCgYGBZpdRYLVr105HjhzRnj179MQTTyg+Pl4vv/yyS/v08/NTRETEDQMpf3sAyJ/IFrgWcgUAb0cjwkOio6MVERGhhISEa26zfv163XbbbQoICFC5cuU0fPhwnT9/3vH6kSNHdNdddykgIECVKlXSggULMg1/mzRpkurUqaOgoCCVK1dOjzzyiJKSkiT9O6Suf//+SkxMdHTK4+PjJTkPo+vZs6d69OjhVFtaWpqKFy+uuXPnSpIyMjKUkJCgSpUqKSAgQPXq1dPHH3/sht9UwWS32xUREaEKFSpoyJAhio6O1ueff67Tp0/rgQceULFixRQYGKj27dtrz549jvf98ccf6tixo4oVK6agoCDVqlVLX3zxhSTnIZT87QHAesgWuBZyBQBvRyPCQ3x9fTVx4kS98cYb+uuvvzK9vm/fPrVr107dunXTjz/+qIULF2r9+vVOz2594IEHdPjwYa1Zs0affPKJ3nnnHR0/ftxpPz4+PpoyZYp++eUXzZkzR998842eeuopSf8OqZs8ebJCQkJ05MgRHTlyRCNHjsxUS69evbRkyRJHyJCkFStWKDk5WV26dJEkJSQkaO7cuZo+fbp++eUXjRgxQr1799batWvd8vsq6AICApSamqp+/fpp69at+vzzz7Vx40YZhqEOHTooLS1NkjR06FClpKRo3bp1+umnn/Tiiy8qODg40/742wOA9ZAtkF3kCgBex0Ce69u3r9GpUyfDMAzj1ltvNR588EHDMAxj0aJFxuU/wYABA4yBAwc6ve/bb781fHx8jAsXLhi//fabIcnYsmWL4/U9e/YYkozXXnvtmsf+6KOPjPDwcMfP7733nhEaGpppuwoVKjj2k5aWZhQvXtyYO3eu4/X777/f6NGjh2EYhnHx4kUjMDDQ2LBhg9M+BgwYYNx///3X/2Ugkys/HxkZGcbKlSsNu91udO7c2ZBkfPfdd45t//nnHyMgIMD48MMPDcMwjDp16hjx8fFZ7nf16tWGJOP06dOGYfC3BwArIVvgWsgVAPKDQmY1QAqqF198UbfffnumrvEPP/ygH3/8UfPnz3esMwxDGRkZOnDggHbv3q1ChQrp5ptvdrweFRWlYsWKOe3n66+/VkJCgn7//XedPXtWly5d0sWLF5WcnJzt+/UKFSqk7t27a/78+erTp4/Onz+vzz77TB988IEkae/evUpOTtadd97p9L7U1FQ1aNAgR78P/Gvp0qUKDg5WWlqaMjIy1LNnT3Xt2lVLly5VkyZNHNuFh4erevXq+u233yRJw4cP15AhQ/TVV18pOjpa3bp1U926dXNdB397AMh/yBa4GrkCgLejEeFhLVu2VExMjOLi4tSvXz/H+qSkJA0aNEjDhw/P9J7y5ctr9+7dN9z3wYMHdffdd2vIkCF6/vnnFRYWpvXr12vAgAFKTU3N0cRBvXr1UqtWrXT8+HGtXLlSAQEBateunaNWSVq2bJnKlCnj9D673Z7tY+D/tGnTRtOmTZOfn58iIyNVqFAhff755zd830MPPaSYmBgtW7ZMX331lRISEvTqq69q2LBhua6Fvz0A5C9kC1yNXAHA29GIMMELL7yg+vXrq3r16o51N998s3799VdFRUVl+Z7q1avr0qVL2rFjhxo2bCjp3y7ylTNlb9u2TRkZGXr11Vfl4/Pv9B8ffvih0378/PyUnp5+wxqbNWumcuXKaeHChfryyy/1n//8R4ULF5Yk1axZU3a7XYcOHVKrVq1ydvLIUlBQUKa//U033aRLly5p8+bNatasmSTp5MmT2rVrl2rWrOnYrly5cho8eLAGDx6suLg4zZgxI8vAwN8eAKyLbIErkSsAeDsaESaoU6eOevXqpSlTpjjWjRo1SrfeeqseffRRPfTQQwoKCtKvv/6qlStX6s0331SNGjUUHR2tgQMHatq0aSpcuLCeeOIJBQQEOB6jFBUVpbS0NL3xxhvq2LGjvvvuO02fPt3p2BUrVlRSUpJWrVqlevXqKTAw8JrfZvTs2VPTp0/X7t27tXr1asf6IkWKaOTIkRoxYoQyMjLUokULJSYm6rvvvlNISIj69u2bB7+1gqdq1arq1KmTHn74Yb399tsqUqSInn76aZUpU0adOnWSJD3++ONq3769qlWrptOnT2v16tW66aabstwff3sAsC6yBW6EXAHAq5g9SUVBcOWkQZcdOHDA8PPzM678E3z//ffGnXfeaQQHBxtBQUFG3bp1jeeff97x+uHDh4327dsbdrvdqFChgrFgwQKjZMmSxvTp0x3bTJo0yShdurQREBBgxMTEGHPnznWaWMgwDGPw4MFGeHi4IckYO3asYRjOEwtd9uuvvxqSjAoVKhgZGRlOr2VkZBiTJ082qlevbhQuXNgoUaKEERMTY6xdu9a1X1YBlNXn47JTp04Zffr0MUJDQx1/0927dztef/TRR40qVaoYdrvdKFGihNGnTx/jn3/+MQwj86RShsHfHgCsgmyBayFXAMgPbIZhGGY0QOC6v/76S+XKldPXX3+tO+64w+xyAABAPke2AAB4Ao2IfOSbb75RUlKS6tSpoyNHjuipp57S33//rd27dzvutQMAAMgusgUAwAzMEZGPpKWl6ZlnntH+/ftVpEgRNWvWTPPnzycoAACAXCFbAADMwIgIAAAAAADgMT5mFwAAAAAAAAoOGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRgIn69eunzp07O35u3bq1Hn/8cY/XsWbNGtlsNp05cybPjnH1ueaGJ+oEACA/I1vkDNkCMAeNCOAq/fr1k81mk81mk5+fn6KiojR+/HhdunQpz4/96aef6rnnnsvWtp6+cFasWFGTJ0/2yLEAALASskXWyBZAwVXI7AIAb9SuXTu99957SklJ0RdffKGhQ4eqcOHCiouLy7Rtamqq/Pz83HLcsLAwt+wHAAB4F7IFAPwfRkQAWbDb7YqIiFCFChU0ZMgQRUdH6/PPP5f0f8MAn3/+eUVGRqp69eqSpD///FPdu3dX0aJFFRYWpk6dOungwYOOfaanpys2NlZFixZVeHi4nnrqKRmG4XTcq4dPpqSkaNSoUSpXrpzsdruioqL07rvv6uDBg2rTpo0kqVixYrLZbOrXr58kKSMjQwkJCapUqZICAgJUr149ffzxx07H+eKLL1StWjUFBASoTZs2TnXmRnp6ugYMGOA4ZvXq1fX6669nue24ceNUokQJhYSEaPDgwUpNTXW8lp3aAQDIj8gWOUO2AKyNERFANgQEBOjkyZOOn1etWqWQkBCtXLlSkpSWlqaYmBg1bdpU3377rQoVKqQJEyaoXbt2+vHHH+Xn56dXX31Vs2fP1qxZs3TTTTfp1Vdf1aJFi3T77bdf87gPPPCANm7cqClTpqhevXo6cOCA/vnnH5UrV06ffPKJunXrpl27dikkJEQBAQGSpISEBP3vf//T9OnTVbVqVa1bt069e/dWiRIl1KpVK/3555/q2rWrhg4dqoEDB2rr1q164oknXPr9ZGRkqGzZsvroo48UHh6uDRs2aODAgSpdurS6d+/u9Hvz9/fXmjVrdPDgQfXv31/h4eF6/vnns1U7AABWQba4PrIFYHEGACd9+/Y1OnXqZBiGYWRkZBgrV6407Ha7MXLkSMfrpUqVMlJSUhzvmTdvnlG9enUjIyPDsS4lJcUICAgwVqxYYRiGYZQuXdp46aWXHK+npaUZZcuWdRzLMAyjVatWxmOPPWYYhmHs2rXLkGSsXLkyyzpXr15tSDJOnz7tWHfx4kUjMDDQ2LBhg9O2AwYMMO6//37DMAwjLi7OqFmzptPro0aNyrSvq1WoUMF47bXXrvn61YYOHWp069bN8XPfvn2NsLAw4/z5845106ZNM4KDg4309PRs1Z7VOQMA4O3IFlkjWwAFFyMigCwsXbpUwcHBSktLU0ZGhnr27Kn4+HjH63Xq1HG6d/OHH37Q3r17VaRIEaf9XLx4Ufv27VNiYqKOHDmiJk2aOF4rVKiQGjVqlGkI5WU7d+6Ur69vjrr1e/fuVXJysu68806n9ampqWrQoIEk6bfffnOqQ5KaNm2a7WNcy9SpUzVr1iwdOnRIFy5cUGpqqurXr++0Tb169RQYGOh03KSkJP35559KSkq6Ye0AAORXZIucI1sA1kUjAshCmzZtNG3aNPn5+SkyMlKFCjn/TyUoKMjp56SkJDVs2FDz58/PtK8SJUrkqobLwyFzIikpSZK0bNkylSlTxuk1u92eqzqy44MPPtDIkSP16quvqmnTpipSpIhefvllbd68Odv7MKt2AAA8gWyRM2QLwNpoRABZCAoKUlRUVLa3v/nmm7Vw4UKVLFlSISEhWW5TunRpbd68WS1btpQkXbp0Sdu2bdPNN9+c5fZ16tRRRkaG1q5dq+jo6EyvX/7WJD093bGuZs2astvtOnTo0DW/7bjpppsck2NdtmnTphuf5HV89913atasmR555BHHun379mXa7ocfftCFCxccQWjTpk0KDg5WuXLlFBYWdsPaAQDIr8gWOUO2AKyNp2YAbtCrVy8VL15cnTp10rfffqsDBw5ozZo1Gj58uP766y9J0mOPPaYXXnhBixcv1u+//65HHnnkus/prlixovr27asHH3xQixcvduzzww8/lCRVqFBBNptNS5cu1YkTJ5SUlKQiRYpo5MiRGjFihObMmaN9+/Zp+/bteuONNzRnzhxJ0uDBg7Vnzx49+eST2rVrlxYsWKDZs2dn6zz//vtv7dy502k5ffq0qlatqq1bt2rFihXavXu3Ro8erS1btmR6f2pqqgYMGKBff/1VX3zxhcaOHatHH31UPj4+2aodAICCgmxBtgAszexJKgBvc+WEUjl5/ciRI8YDDzxgFC9e3LDb7UblypWNhx9+2EhMTDQM498JpB577DEjJCTEKFq0qBEbG2s88MAD15xQyjAM48KFC8aIESOM0qVLG35+fkZUVJQxa9Ysx+vjx483IiIiDJvNZvTt29cwjH8nwZo8ebJRvXp1o3DhwkaJEiWMmJgYY+3atY73LVmyxIiKijLsdrtx2223GbNmzcrWhFKSMi3z5s0zLl68aPTr188IDQ01ihYtagwZMsR4+umnjXr16mX6vY0ZM8YIDw83goODjYcffti4ePGiY5sb1c6EUgCA/IhskTWyBVBw2QzjGrPZAAAAAAAAuBm3ZgAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8hkYEAAAAAADwGBoRAAAAAADAY2hEAAAAAAAAj6ERAQAAAAAAPIZGBAAAAAAA8BgaEQAAAAAAwGP+HzhYnuLYfUrAAAAAAElFTkSuQmCC\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.918919 | 0.918919 |   0.918919 |  37        |\n',
      '| 2            |    0.914286 | 0.914286 |   0.914286 |  35        |\n',
      '| accuracy     |    0.942857 | 0.942857 |   0.942857 |   0.942857 |\n',
      '| macro avg    |    0.944402 | 0.944402 |   0.944402 | 105        |\n',
      '| weighted avg |    0.942857 | 0.942857 |   0.942857 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    0.928571 | 1        |   0.962963 | 13        |\n',
      '| 2            |    1        | 0.933333 |   0.965517 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.97619  | 0.977778 |   0.97616  | 45        |\n',
      '| weighted avg |    0.979365 | 0.977778 |   0.977806 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['Naive Bayes tuned']= nb2_score"],
   'metadata': {'id': 'Ns2M_He3MtzO'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'metadata': {'id': 'ZYFMyHqX_6FG'},
   'source': ['##### Which hyperparameter optimization technique have i used and why?']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'WZ26Qw2d_6FG'},
   'source': ['Here we have used the GridSearchCV for optimization of the Naive Bayes model.\n',
    '\n',
    'GridSearchCV is an exhaustive search method that tries all possible combinations of hyperparameters specified in the hyperparameter grid. This technique can be useful when the number of hyperparameters to tune is small and the range of possible values for each hyperparameter is limited. GridSearchCV can find the best combination of hyperparameters, but it can be computationally expensive for large hyperparameter grids.']},
  {'cell_type': 'markdown',
   'metadata': {'id': 't4hU8F0I_6FG'},
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'nZaUzFFkM2AO',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 456},
    'outputId': '5d048eb0-5588-4b9f-f6d6-cdd77bb472bd'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  \\\n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000   \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167   \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000   \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778   \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000   \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778   \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000   \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692   \n',
       '\n',
       '                 XGB tuned  Naive Bayes  Naive Bayes tuned  \n',
       'Precision Train   1.000000     0.942857           0.942857  \n',
       'Precision Test    0.979167     0.979365           0.979365  \n',
       'Recall Train      1.000000     0.942857           0.942857  \n',
       'Recall Test       0.977778     0.977778           0.977778  \n',
       'Accuracy Train    1.000000     0.942857           0.942857  \n',
       'Accuracy Test     0.977778     0.977778           0.977778  \n',
       'F1 macro Train    1.000000     0.942857           0.942857  \n',
       'F1 macro Test     0.977692     0.977806           0.977806  '],
      'text/html': ['\n',
       '  <div id="df-9ca0d886-6ea4-49d4-9ca4-714efae824c2" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '      <th>XGB tuned</th>\n',
       '      <th>Naive Bayes</th>\n',
       '      <th>Naive Bayes tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.979365</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977806</td>\n',
       '      <td>0.977806</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-9ca0d886-6ea4-49d4-9ca4-714efae824c2\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-9ca0d886-6ea4-49d4-9ca4-714efae824c2 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-9ca0d886-6ea4-49d4-9ca4-714efae824c2');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-9d13d32d-dbfa-4b85-950b-e2abd466b93f">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-9d13d32d-dbfa-4b85-950b-e2abd466b93f\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-9d13d32d-dbfa-4b85-950b-e2abd466b93f button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 161}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'hSpzVU16_6FG'},
   'source': ['It appears that hyperparameter tuning did not improved the performance of the Naive Bayes model on the test set. The tuned Naive Bayes model has precision, recall, accuracy and F1 score on the test set as same as in the untuned Naive Bayes model.']},
  {'cell_type': 'markdown',
   'metadata': {'id': '1NNpISRdaSng'},
   'source': ['### ML Model - 7 : Neural Network']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'zmPQ4B8CaSng'},
   'outputs': [],
   'source': ['# ML Model - 7 Implementation\n',
    'nn_model = MLPClassifier(random_state=0)\n',
    '\n',
    '# Model is trained (fit) and predicted in the evaluate model']},
  {'cell_type': 'markdown',
   'metadata': {'id': '6IvVWbfDaSnh'},
   'source': ["#### 1. Explain the ML Model used and it's performance using Evaluation metric Score Chart."]},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'r_he51ZUaSnh',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'a8f92095-f52b-426f-c9c0-0ee1b0c19b97'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsvElEQVR4nO3deVgVdf//8dcB5QAiKLggue+5m5q55FIkLplbXyu11MwttyTN6C5F02i5K7NMy0rNtKxMKy1NzSVzyTVbDJcwK3HJBUUUEeb3Rz/P7RFU4BzOHIbn47rmuj0zc2beA6d7XrzPZ2ZshmEYAgAAAAAA8AAfswsAAAAAAAAFB40IAAAAAADgMTQiAAAAAACAx9CIAAAAAAAAHkMjAgAAAAAAeAyNCAAAAAAA4DE0IgAAAAAAgMfQiAAAAAAAAB5DIwIAAAAAAHgMjQhYVr9+/VSxYkWzy3Cro0eP6t5771VYWJhsNpumTp3q9n3YbDbFxsa6fbv5lRU/RwCAgo084XnkCcAZjQh4nM1my9a0du1as0vN0tGjRzVmzBjVrFlTgYGBKlKkiBo1aqTJkyfr9OnTebrv0aNHa8WKFYqJidG8efPUvn37PN2fJ8XGxspms8nHx0d//vlnpuVnzpxRQECAbDabhg8fnuPtp6SkKDY21ms/VwAA9/Fk1sjt+YU8kTfIE0D+UMjsAlDwzJs3z+n1+++/r5UrV2aaf/PNN7u0n1mzZikjI8OlbVxt69at6tixo5KTk9WnTx81atRIkrRt2zY9//zzWr9+vb755hu37vNK3377rbp06aIxY8bk2T7Onz+vQoXM+78Gu92uDz/8UE888YTT/M8++8yl7aakpGjixImSpDZt2mT7fXnxOQIA5C1PZQ0pd+cX8kTeI08A3o1GBDyuT58+Tq83b96slStXZpp/tZSUFAUGBmZ7P4ULF85Vfddy+vRpdevWTb6+vtq5c6dq1qzptHzKlCmaNWuWW/d5tWPHjqlYsWJ5ug9/f/883f6NdOzYMcvgsGDBAnXq1EmLFi3ySB3nzp1TkSJF3P45AgDkvdxmDU8gT3gGeQLwblyaAa/Upk0b1alTR9u3b1erVq0UGBiop556SpL0+eefq1OnToqIiJDdbleVKlX07LPPKj093WkbV1+Ld/DgQdlsNv33v//V22+/rSpVqshut6tJkybaunXrDWt666239Pfff+uVV17JFBokqXTp0nr66aed5r355puqXbu27Ha7IiIiNGzYsEzDLS8f66+//qq2bdsqMDBQN910k1588UXHOnPmzJHNZpNhGJo+fbpjSKn0vyGIV7v8noMHDzrmbdu2TVFRUSpRooQCAgJUqVIlPfzww07vy+qazp07d6pDhw4KDg5WUFCQ7rzzTm3evDnL/X3//feKjo5WyZIlVaRIEXXr1k3Hjx+/5s/1ar169dKuXbv022+/OeYdOXJE3377rXr16pVp/YsXL2r8+PFq1KiRQkJCVKRIEd1+++1as2aNY52DBw+qZMmSkqSJEyc6fn6Xj7Nfv34KCgrSgQMH1LFjRxUtWlS9e/d2LLvyczRhwgT5+Pho9erVTnUMGjRIfn5++vHHH7N9rAAA82RkZGjq1KmqXbu2/P39Vbp0aQ0ePFinTp1yWu96584bnV+yQp4gT0jkCYAREfBaJ06cUIcOHXT//ferT58+Kl26tKR/T1BBQUGKjo5WUFCQvv32W40fP15nzpzRSy+9dMPtLliwQGfPntXgwYNls9n04osvqnv37vr999+v263+4osvFBAQoHvvvTdb9cfGxmrixImKjIzU0KFDFR8frxkzZmjr1q36/vvvnfZ16tQptW/fXt27d1fPnj316aefaty4capbt646dOigVq1aad68eXrwwQd111136aGHHspWDVc6duyY2rVrp5IlS+rJJ59UsWLFdPDgwRsOUfzll190++23Kzg4WE888YQKFy6st956S23atNG6devUtGlTp/VHjBih4sWLa8KECTp48KCmTp2q4cOHa+HChdmqs1WrVipbtqwWLFigSZMmSZIWLlyooKAgderUKdP6Z86c0TvvvKMHHnhAAwcO1NmzZ/Xuu+8qKipKP/zwgxo0aKCSJUtqxowZGjp0qLp166bu3btLkurVq+fYzqVLlxQVFaWWLVvqv//97zVH3zz99NP68ssvNWDAAP30008qWrSoVqxYoVmzZunZZ59V/fr1s3WcAABzDR48WHPmzFH//v01cuRIJSQk6I033tDOnTsd5+kbnTuzc365GnmCPCGRJwAZgMmGDRtmXP1RbN26tSHJmDlzZqb1U1JSMs0bPHiwERgYaFy4cMExr2/fvkaFChUcrxMSEgxJRlhYmHHy5EnH/M8//9yQZHz55ZfXrbN48eJG/fr1s3VMx44dM/z8/Ix27doZ6enpjvlvvPGGIcl47733HPMuH+v777/vmJeammqEh4cbPXr0cNquJGPYsGFO8yZMmJDp52cYhjF79mxDkpGQkGAYhmEsXrzYkGRs3br1urVLMiZMmOB43bVrV8PPz884cOCAY97hw4eNokWLGq1atcq0v8jISCMjI8Mxf/To0Yavr69x+vTp6+738nEcP37cGDNmjFG1alXHsiZNmhj9+/fP8mdw6dIlIzU11Wlbp06dMkqXLm08/PDDjnnHjx/PdGyX9e3b15BkPPnkk1kuu/JzZBiG8dNPPxl+fn7GI488Ypw6dcq46aabjMaNGxtpaWnXPUYAgDmuzhrfffedIcmYP3++03rLly93mp+dc+f1zi9ZIU+QJy4jT6Ag49IMeC273a7+/ftnmh8QEOD499mzZ/XPP//o9ttvV0pKitPwu2u57777VLx4ccfr22+/XZL0+++/X/d9Z86cUdGiRbNV+6pVq3Tx4kU99thj8vH5339mAwcOVHBwsJYtW+a0flBQkNN1q35+frr11ltvWFNOXL4WdOnSpUpLS8vWe9LT0/XNN9+oa9euqly5smN+mTJl1KtXL23YsEFnzpxxes+gQYOchnbefvvtSk9P1x9//JHtWnv16qX9+/dr69atjv/NahilJPn6+srPz0/Sv8NsT548qUuXLqlx48basWNHtvcpSUOHDs3WenXq1NHEiRP1zjvvKCoqSv/884/mzp1r6k25AADZ98knnygkJER33XWX/vnnH8fUqFEjBQUFOYbj5+bceSPkCfLEZeQJFGQ0IuC1brrpJscJ4Uq//PKLunXrppCQEAUHB6tkyZKOk25SUtINt1u+fHmn15ebEldfE3q14OBgnT17Nlu1Xz5J1qhRw2m+n5+fKleunOkkWrZs2UzXZRYvXvyGNeVE69at1aNHD02cOFElSpRQly5dNHv2bKWmpl7zPcePH1dKSkqm45D+vdN4RkZGpkdj5fbne6WGDRuqZs2aWrBggebPn6/w8HDdcccd11x/7ty5qlevnvz9/RUWFqaSJUtq2bJl2fo8XFaoUCGVLVs22+uPHTtW9evX1w8//KAJEyaoVq1a2X4vAMBc+/btU1JSkkqVKqWSJUs6TcnJyTp27Jik3J07b4Q84Yw8QZ5AwUS7DV7rypEPl50+fVqtW7dWcHCwJk2apCpVqsjf3187duzQuHHjsvVYJF9f3yznG4Zx3ffVrFlTu3bt0sWLF7NskLgitzVJyvLGUpIy3bzTZrPp008/1ebNm/Xll19qxYoVevjhh/Xyyy9r8+bNCgoKynnhWXDlWK7Uq1cvzZgxQ0WLFtV9993n9E3QlT744AP169dPXbt21dixY1WqVCn5+voqLi5OBw4cyPb+7Hb7NfeRld9//1379u2TJP3000/Zfh8AwHwZGRkqVaqU5s+fn+XyyzckzItzJ3kie8gTgLUxIgL5ytq1a3XixAnNmTNHo0aN0t13363IyEinSy3ySufOnXX+/PlsPe6pQoUKkqT4+Hin+RcvXlRCQoJjuTtcPvar7559raGLt912m6ZMmaJt27Zp/vz5+uWXX/TRRx9luW7JkiUVGBiY6Tgk6bfffpOPj4/KlSvn2gFcQ69evZSYmKi9e/decxilJH366aeqXLmyPvvsMz344IOKiopSZGSkLly44LTetQJWbmRkZKhfv34KDg7WU089pQ8//NDl55IDADynSpUqOnHihFq0aKHIyMhM09U3CrzeuTOn5xfyhDPyBHkCBRONCOQrl7vjV3bDL168qDfffDPP9z1kyBCVKVNGjz/+uPbu3Ztp+bFjxzR58mRJUmRkpPz8/DRt2jSnWt99910lJSVlebfm3KpSpYokaf369Y55586d09y5c53WO3XqVKZvERo0aCBJ1xxO6evrq3bt2unzzz93emzX0aNHtWDBArVs2VLBwcFuOIrMqlSpoqlTpyouLk633nrrNdfL6jOxZcsWbdq0yWm9y3etvjpg5cYrr7yijRs36u2339azzz6r5s2ba+jQofrnn39c3jYAIO/17NlT6enpevbZZzMtu3TpkuNckZ1zZ07PL+SJg4755AnyBAouLs1AvtK8eXMVL15cffv21ciRI2Wz2TRv3rwcD9PLjeLFi2vx4sXq2LGjGjRooD59+qhRo0aSpB07dujDDz9Us2bNJP3b+Y+JidHEiRPVvn173XPPPYqPj9ebb76pJk2aON1IylXt2rVT+fLlNWDAAI0dO1a+vr567733VLJkSR06dMix3ty5c/Xmm2+qW7duqlKlis6ePatZs2YpODhYHTt2vOb2J0+erJUrV6ply5Z69NFHVahQIb311ltKTU11ejZ5Xhg1atQN17n77rv12WefqVu3burUqZMSEhI0c+ZM1apVS8nJyY71AgICVKtWLS1cuFDVq1dXaGio6tSpozp16uSopj179uiZZ55Rv3791LlzZ0n/PlK2QYMGevTRR/Xxxx/n7CABAB7XunVrDR48WHFxcdq1a5fatWunwoULa9++ffrkk0/02muv6d57783WuTOn5xfyBHlCIk8APL4TprvW4ztr166d5frff/+9cdtttxkBAQFGRESE8cQTTxgrVqwwJBlr1qxxrHetx3e+9NJLmbapHDx26/Dhw8bo0aON6tWrG/7+/kZgYKDRqFEjY8qUKUZSUpLTum+88YZRs2ZNo3Dhwkbp0qWNoUOHGqdOncrWsWb1mCdl8bgtwzCM7du3G02bNjX8/PyM8uXLG6+88kqmx23t2LHDeOCBB4zy5csbdrvdKFWqlHH33Xcb27Ztu+HPYseOHUZUVJQRFBRkBAYGGm3btjU2btzotM7l/V39OK81a9Zk+t1k5crHbV3P1T+DjIwM47nnnjMqVKhg2O12o2HDhsbSpUuz/Plt3LjRaNSokeHn5+d0nH379jWKFCmS5f6u3M6lS5eMJk2aGGXLls30+LDXXnvNkGQsXLjwuvUDADwvq6xhGIbx9ttvG40aNTICAgKMokWLGnXr1jWeeOIJ4/Dhw4ZhZP/cea3zy/WQJ8gT5AkUZDbD8MBXyQAAAAAAAOIeEQAAAAAAwINoRAAAAAAAAI+hEQEAAAAAADyGRgQAAAAAAPAYGhEAAAAAAMBjaEQAAAAAAACPoREBAAAAAAA8ppDZBeSFt2+x5GEhFwZtOGJ2CQC8UWCJPN18bM3Crr3/tzQ3VQJ3cfV3CuuI3ZFodgkAvJEXZwtvzBWMiAAAAAAAAB7D0AEAANzMZnYBAADAUqyWLWhEAADgZjarpQUAAGAqq2ULLs0AAMDNfFycsmvGjBmqV6+egoODFRwcrGbNmunrr792LG/Tpo1sNpvTNGTIEDccIQAA8CRP5ApPYkQEAABu5qlvLcqWLavnn39e1apVk2EYmjt3rrp06aKdO3eqdu3akqSBAwdq0qRJjvcEBgZ6pjgAAOA2VhsRQSMCAAA381RW6Ny5s9PrKVOmaMaMGdq8ebOjEREYGKjw8HAPVQQAAPKCxfoQXjtSAwCAfMtmc23KjfT0dH300Uc6d+6cmjVr5pg/f/58lShRQnXq1FFMTIxSUlLcdJQAAMBTPJ0r8hojIgAA8DKpqalKTU11mme322W32zOt+9NPP6lZs2a6cOGCgoKCtHjxYtWqVUuS1KtXL1WoUEERERHavXu3xo0bp/j4eH322WceOQ4AAICs0IgAAMDNXB1uGBcXp4kTJzrNmzBhgmJjYzOtW6NGDe3atUtJSUn69NNP1bdvX61bt061atXSoEGDHOvVrVtXZcqU0Z133qkDBw6oSpUqLlYJAAA8xWqXMtCIAADAzVwdBhkTE6Po6GineVmNhpAkPz8/Va1aVZLUqFEjbd26Va+99preeuutTOs2bdpUkrR//34aEQAA5CPeeolFbtGIAADAzVzNCte6DCM7MjIyMl3WcdmuXbskSWXKlMltaQAAwAQW60PQiAAAwN089a1FTEyMOnTooPLly+vs2bNasGCB1q5dqxUrVujAgQNasGCBOnbsqLCwMO3evVujR49Wq1atVK9ePc8UCAAA3IIREQAA4Lo8lRWOHTumhx56SImJiQoJCVG9evW0YsUK3XXXXfrzzz+1atUqTZ06VefOnVO5cuXUo0cPPf300x6qDgAAuIvF+hA0IgAAyK/efffday4rV66c1q1b58FqAACAFaxfv14vvfSStm/frsTERC1evFhdu3Z1WmfPnj0aN26c1q1bp0uXLqlWrVpatGiRypcvn619WO3mmwAAmM7H5toEAABwJU/minPnzql+/fqaPn16lssPHDigli1bqmbNmlq7dq12796tZ555Rv7+/tneByMiAABwM3oJAADAnTyZLTp06KAOHTpcc/l//vMfdezYUS+++KJjXk6fxsWICAAA3Mxmc20CAAC4kiu5IjU1VWfOnHGarvWErRvJyMjQsmXLVL16dUVFRalUqVJq2rSplixZkqPt0IgAAMDNbC5OAAAAV3IlV8TFxSkkJMRpiouLy1Udx44dU3Jysp5//nm1b99e33zzjbp166bu3bvn6N5UXJoBAICb+dgMs0sAAAAW4kq2iImJUXR0tNM8u92eq21lZGRIkrp06aLRo0dLkho0aKCNGzdq5syZat26dba2QyMCAAAAAACLstvtuW48XK1EiRIqVKiQatWq5TT/5ptv1oYNG7K9HRoRAAC4GZdXAAAAd/KWbOHn56cmTZooPj7eaf7evXtVoUKFbG+HRgQAAG7mLWEBAABYgyezRXJysvbv3+94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KDY29prvGTZsmH7++Wdt2LDBpX17CtkCAIAc8NJ7PeRWthoROXkeaG588MEH6t69uwIDA1WrVq083RcAAHnOxWGQMTExio6Odpp3vdEQw4cP19KlS7V+/XqVLVvWMT88PFwXL17U6dOnnUZFHD161DHywCxkCwAAcsBLL7HILZthGIbZRZQsWVLnz5/XPffcoz59+igqKkq+vr6532DKP+4rDvla7C1lzC4BXiR26x9mlwBvUTQiTzd/cWI9l97vN2F3ttYzDEMjRozQ4sWLtXbtWlWrVs1peVJSkkqWLKkPP/xQPXr0kPTv0yRq1qypTZs2ec3NKvMC2QJ55eTIajdeCQVC8clrzS4BXsQWXj9Pt+9KtshurvAkrxjfkZiYqI8++kg2m009e/ZUmTJlNGzYMG3cuNHs0gAAyDkP3axy2LBh+uCDD7RgwQIVLVpUR44c0ZEjR3T+/HlJ/97sccCAAYqOjtaaNWu0fft29e/fX82aNbN0E0IiWwAALKag36wyPT1dr776qj7++GMdOnRIFy9edFp+8uTJnBdRqJDuvvtu3X333UpJSdHixYu1YMECtW3bVmXLltWBAwdyvE0AAKxuxowZkqQ2bdo4zZ89e7b69esnSXr11Vfl4+OjHj16KDU1VVFRUXrzzTc9XOn1kS0AAChYcjwiYuLEiXrllVd03333KSkpSdHR0erevbt8fHyuexOt7AoMDFRUVJQ6dOigatWq6eDBgy5vEwAAj7L5uDZlk2EYWU6XmxCS5O/vr+nTp+vkyZM6d+6cPvvsM9PvD3E1sgUAADfggVzhSTmuav78+Zo1a5Yef/xxFSpUSA888IDeeecdjR8/Xps3b851ISkpKZo/f746duyom266SVOnTlW3bt30yy+/5HqbAACYwWazuTQVNGQLAACuz2q5IseXZhw5ckR169aVJAUFBSkpKUmSdPfdd+f6Wd/333+/li5dqsDAQPXs2VPPPPOMmjVrlqttAQBgOos96zuvkS0AALgBi2WLHDciypYtq8TERJUvX15VqlTRN998o1tuuUVbt2697qPFrsfX11cff/yx63e0BgDAC9i8dBiktyJbAABwfVbLFjluRHTr1k2rV69W06ZNNWLECPXp00fvvvuuDh06pNGjR+eqiPnz5+fqfQAAeCUvHQbprcgWAADcgMWyRY4bEc8//7zj3/fd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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    0.972973 | 0.972973 |   0.972973 |  37        |\n',
      '| 2            |    0.971429 | 0.971429 |   0.971429 |  35        |\n',
      '| accuracy     |    0.980952 | 0.980952 |   0.980952 |   0.980952 |\n',
      '| macro avg    |    0.981467 | 0.981467 |   0.981467 | 105        |\n',
      '| weighted avg |    0.980952 | 0.980952 |   0.980952 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.846154 |   0.916667 | 13        |\n',
      '| 2            |    0.882353 | 1        |   0.9375   | 15        |\n',
      '| accuracy     |    0.955556 | 0.955556 |   0.955556 |  0.955556 |\n',
      '| macro avg    |    0.960784 | 0.948718 |   0.951389 | 45        |\n',
      '| weighted avg |    0.960784 | 0.955556 |   0.955093 | 45        |\n']}],
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'neural_score = evaluate_model(nn_model, x_train, x_test, y_train, y_test)']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n',
    "score['Neural Network'] = neural_score\n",
    'score'],
   'metadata': {'id': 'tULE2aTOaSnh',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'c896e414-5889-4ba4-8ff8-e1f52452be74'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  \\\n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000   \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167   \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000   \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778   \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000   \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778   \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000   \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692   \n',
       '\n',
       '                 XGB tuned  Naive Bayes  Naive Bayes tuned  Neural Network  \n',
       'Precision Train   1.000000     0.942857           0.942857        0.980952  \n',
       'Precision Test    0.979167     0.979365           0.979365        0.960784  \n',
       'Recall Train      1.000000     0.942857           0.942857        0.980952  \n',
       'Recall Test       0.977778     0.977778           0.977778        0.955556  \n',
       'Accuracy Train    1.000000     0.942857           0.942857        0.980952  \n',
       'Accuracy Test     0.977778     0.977778           0.977778        0.955556  \n',
       'F1 macro Train    1.000000     0.942857           0.942857        0.980952  \n',
       'F1 macro Test     0.977692     0.977806           0.977806        0.955093  '],
      'text/html': ['\n',
       '  <div id="df-403b9a42-c4b9-4601-987d-65bf88264447" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '      <th>XGB tuned</th>\n',
       '      <th>Naive Bayes</th>\n',
       '      <th>Naive Bayes tuned</th>\n',
       '      <th>Neural Network</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.960784</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977806</td>\n',
       '      <td>0.977806</td>\n',
       '      <td>0.955093</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-403b9a42-c4b9-4601-987d-65bf88264447\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-403b9a42-c4b9-4601-987d-65bf88264447 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-403b9a42-c4b9-4601-987d-65bf88264447');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-c3dc30d7-c48d-4ec7-88ec-c9659d5d451c">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-c3dc30d7-c48d-4ec7-88ec-c9659d5d451c\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-c3dc30d7-c48d-4ec7-88ec-c9659d5d451c button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 164}]},
  {'cell_type': 'markdown',
   'metadata': {'id': '0bSwMgKcaSnh'},
   'source': ['#### 2. Cross- Validation & Hyperparameter Tuning']},
  {'cell_type': 'code',
   'execution_count': None,
   'metadata': {'id': 'ffpQHwZaaSni',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '5ddbba47-0b4c-42a8-d9e6-87e88c684960'},
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ["Best hyperparameters:  {'hidden_layer_sizes': 40, 'alpha': 0.0068000000000000005}\n"]}],
   'source': ['# ML Model - 7 Implementation with hyperparameter optimization techniques (i.e., GridSearch CV, RandomSearch CV, Bayesian Optimization etc.)\n',
    '# Define the hyperparameter grid\n',
    "param_grid = {'hidden_layer_sizes': np.arange(10, 100, 10),\n",
    "              'alpha': np.arange(0.0001, 0.01, 0.0001)}\n",
    '\n',
    '# Initialize the model\n',
    'neural = MLPClassifier(random_state=0)\n',
    '\n',
    '# Repeated stratified kfold\n',
    'rskf = RepeatedStratifiedKFold(n_splits=3, n_repeats=3, random_state=0)\n',
    '\n',
    '# Initialize RandomizedSearchCV\n',
    'random_search = RandomizedSearchCV(neural, param_grid, n_iter=10, cv=rskf, n_jobs=-1)\n',
    '\n',
    '# Fit the RandomizedSearchCV to the training data\n',
    'random_search.fit(x_train, y_train)\n',
    '\n',
    '# Select the best hyperparameters\n',
    'best_params = random_search.best_params_\n',
    'print("Best hyperparameters: ", best_params)']},
  {'cell_type': 'code',
   'source': ['# Initiate model with best parameters\n',
    "nn_model2 = MLPClassifier(hidden_layer_sizes = best_params['hidden_layer_sizes'],\n",
    "                        alpha = best_params['alpha'],\n",
    '                        random_state = 0)'],
   'metadata': {'id': '9MhZA1MeaSni'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ['# Visualizing evaluation Metric Score chart\n',
    'neural2_score = evaluate_model(nn_model2, x_train, x_test, y_train, y_test)'],
   'metadata': {'id': 'GnbfV8jjaSni',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 789},
    'outputId': '8612e286-e740-4d7b-98f8-1f7143ea41e7'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n', 'Confusion Matrix:\n']},
    {'output_type': 'display_data',
     'data': {'text/plain': ['<Figure size 1100x400 with 4 Axes>'],
      'image/png': 'iVBORw0KGgoAAAANSUhEUgAABCIAAAGGCAYAAACuZCAMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsrUlEQVR4nO3deVgVdf//8dcB5QgiKCgiKe77npq55FIkLplbt5VZapZLLilZxn2nolm03JV5Z1pmaqalLVpZaWoumUuu2WK4pFmJSy4oooAwvz/8eb4eQQXO4cxheD6ua67bMzNn5j1wuufF+3xmxmYYhiEAAAAAAAAP8DG7AAAAAAAAUHjQiAAAAAAAAB5DIwIAAAAAAHgMjQgAAAAAAOAxNCIAAAAAAIDH0IgAAAAAAAAeQyMCAAAAAAB4DI0IAAAAAADgMTQiAAAAAACAx9CIgGX1799flSpVMrsMtzp69KjuuecehYaGymazacqUKW7fh81mU1xcnNu3W1BZ8XMEACjcyBOeR54AnNGIgMfZbLYcTWvWrDG71GwdPXpUY8aMUa1atRQQEKDixYurSZMmmjx5sk6fPp2v+x49erSWL1+u2NhYzZs3Tx07dszX/XlSXFycbDabfHx89Oeff2ZZfubMGfn7+8tms2n48OG53n5KSori4uK89nMFAHAfT2aNvJ5fyBP5gzwBFAxFzC4Ahc+8efOcXr/33ntasWJFlvm1a9d2aT8zZ85UZmamS9u42pYtW9S5c2clJyerb9++atKkiSRp69ateuGFF7Ru3Tp98803bt3nlb799lt169ZNY8aMybd9nD9/XkWKmPd/DXa7XR988IGeeuopp/mffvqpS9tNSUnRxIkTJUnt2rXL8fvy43MEAMhfnsoaUt7OL+SJ/EeeALwbjQh4XN++fZ1eb9q0SStWrMgy/2opKSkKCAjI8X6KFi2ap/qu5fTp0+rRo4d8fX21Y8cO1apVy2n5c889p5kzZ7p1n1c7duyYSpYsma/7KFasWL5u/0Y6d+6cbXBYsGCBunTpok8++cQjdZw7d07Fixd3++cIAJD/8po1PIE84RnkCcC7cWkGvFK7du1Ur149bdu2TW3atFFAQID+/e9/S5I+++wzdenSRREREbLb7apataqeffZZZWRkOG3j6mvxDh48KJvNpv/+9796++23VbVqVdntdjVr1kxbtmy5YU1vvfWW/v77b7366qtZQoMklS1bVs8884zTvDfffFN169aV3W5XRESEhg0blmW45eVj/fXXX9W+fXsFBATopptu0ksvveRYZ86cObLZbDIMQ9OmTXMMKZX+bwji1S6/5+DBg455W7duVXR0tEqXLi1/f39VrlxZDz/8sNP7srumc8eOHerUqZOCgoIUGBioO+64Q5s2bcp2f99//71iYmJUpkwZFS9eXD169NDx48ev+XO9Wp8+fbRz50799ttvjnlHjhzRt99+qz59+mRZPy0tTePHj1eTJk0UHBys4sWL67bbbtPq1asd6xw8eFBlypSRJE2cONHx87t8nP3791dgYKD279+vzp07q0SJEnrggQccy678HE2YMEE+Pj5atWqVUx2DBg2Sn5+ffvzxxxwfKwDAPJmZmZoyZYrq1q2rYsWKqWzZsho8eLBOnTrltN71zp03Or9khzxBnpDIEwAjIuC1Tpw4oU6dOum+++5T3759VbZsWUmXTlCBgYGKiYlRYGCgvv32W40fP15nzpzRyy+/fMPtLliwQGfPntXgwYNls9n00ksvqWfPnvr999+v263+/PPP5e/vr3vuuSdH9cfFxWnixImKiorS0KFDlZCQoOnTp2vLli36/vvvnfZ16tQpdezYUT179lTv3r318ccfa+zYsapfv746deqkNm3aaN68eXrwwQd155136qGHHspRDVc6duyYOnTooDJlyujpp59WyZIldfDgwRsOUfzll1902223KSgoSE899ZSKFi2qt956S+3atdPatWvVvHlzp/VHjBihUqVKacKECTp48KCmTJmi4cOHa+HChTmqs02bNipfvrwWLFigSZMmSZIWLlyowMBAdenSJcv6Z86c0TvvvKP7779fjz76qM6ePatZs2YpOjpaP/zwgxo1aqQyZcpo+vTpGjp0qHr06KGePXtKkho0aODYzsWLFxUdHa3WrVvrv//97zVH3zzzzDP64osvNHDgQP30008qUaKEli9frpkzZ+rZZ59Vw4YNc3ScAABzDR48WHPmzNGAAQM0cuRIHThwQG+88YZ27NjhOE/f6NyZk/PL1cgT5AmJPAHIAEw2bNgw4+qPYtu2bQ1JxowZM7Ksn5KSkmXe4MGDjYCAAOPChQuOef369TMqVqzoeH3gwAFDkhEaGmqcPHnSMf+zzz4zJBlffPHFdessVaqU0bBhwxwd07Fjxww/Pz+jQ4cORkZGhmP+G2+8YUgy3n33Xce8y8f63nvvOealpqYa4eHhRq9evZy2K8kYNmyY07wJEyZk+fkZhmHMnj3bkGQcOHDAMAzDWLx4sSHJ2LJly3Vrl2RMmDDB8bp79+6Gn5+fsX//fse8w4cPGyVKlDDatGmTZX9RUVFGZmamY/7o0aMNX19f4/Tp09fd7+XjOH78uDFmzBijWrVqjmXNmjUzBgwYkO3P4OLFi0ZqaqrTtk6dOmWULVvWePjhhx3zjh8/nuXYLuvXr58hyXj66aezXXbl58gwDOOnn34y/Pz8jEceecQ4deqUcdNNNxlNmzY10tPTr3uMAABzXJ01vvvuO0OSMX/+fKf1li1b5jQ/J+fO651fskOeIE9cRp5AYcalGfBadrtdAwYMyDLf39/f8e+zZ8/qn3/+0W233aaUlBSn4XfXcu+996pUqVKO17fddpsk6ffff7/u+86cOaMSJUrkqPaVK1cqLS1No0aNko/P//1n9uijjyooKEhffvml0/qBgYFO1636+fnplltuuWFNuXH5WtClS5cqPT09R+/JyMjQN998o+7du6tKlSqO+eXKlVOfPn20fv16nTlzxuk9gwYNchraedtttykjI0N//PFHjmvt06eP9u3bpy1btjj+N7thlJLk6+srPz8/SZeG2Z48eVIXL15U06ZNtX379hzvU5KGDh2ao/Xq1auniRMn6p133lF0dLT++ecfzZ0719SbcgEAcu6jjz5ScHCw7rzzTv3zzz+OqUmTJgoMDHQMx8/LufNGyBPkicvIEyjMaETAa910002OE8KVfvnlF/Xo0UPBwcEKCgpSmTJlHCfdpKSkG243MjLS6fXlpsTV14ReLSgoSGfPns1R7ZdPkjVr1nSa7+fnpypVqmQ5iZYvXz7LdZmlSpW6YU250bZtW/Xq1UsTJ05U6dKl1a1bN82ePVupqanXfM/x48eVkpKS5TikS3caz8zMzPJorLz+fK/UuHFj1apVSwsWLND8+fMVHh6u22+//Zrrz507Vw0aNFCxYsUUGhqqMmXK6Msvv8zR5+GyIkWKqHz58jle/8knn1TDhg31ww8/aMKECapTp06O3wsAMNfevXuVlJSksLAwlSlTxmlKTk7WsWPHJOXt3Hkj5Aln5AnyBAon2m3wWleOfLjs9OnTatu2rYKCgjRp0iRVrVpVxYoV0/bt2zV27NgcPRbJ19c32/mGYVz3fbVq1dLOnTuVlpaWbYPEFXmtSVK2N5aSlOXmnTabTR9//LE2bdqkL774QsuXL9fDDz+sV155RZs2bVJgYGDuC8+GK8dypT59+mj69OkqUaKE7r33Xqdvgq70/vvvq3///urevbuefPJJhYWFydfXV/Hx8dq/f3+O92e326+5j+z8/vvv2rt3ryTpp59+yvH7AADmy8zMVFhYmObPn5/t8ss3JMyPcyd5ImfIE4C1MSICBcqaNWt04sQJzZkzR48//rjuuusuRUVFOV1qkV+6du2q8+fP5+hxTxUrVpQkJSQkOM1PS0vTgQMHHMvd4fKxX3337GsNXbz11lv13HPPaevWrZo/f75++eUXffjhh9muW6ZMGQUEBGQ5Dkn67bff5OPjowoVKrh2ANfQp08fJSYmas+ePdccRilJH3/8sapUqaJPP/1UDz74oKKjoxUVFaULFy44rXetgJUXmZmZ6t+/v4KCgvTvf/9bH3zwgcvPJQcAeE7VqlV14sQJtWrVSlFRUVmmq28UeL1zZ27PL+QJZ+QJ8gQKJxoRKFAud8ev7IanpaXpzTffzPd9DxkyROXKldMTTzyhPXv2ZFl+7NgxTZ48WZIUFRUlPz8/TZ061anWWbNmKSkpKdu7NedV1apVJUnr1q1zzDt37pzmzp3rtN6pU6eyfIvQqFEjSbrmcEpfX1916NBBn332mdNju44ePaoFCxaodevWCgoKcsNRZFW1alVNmTJF8fHxuuWWW665Xnafic2bN2vjxo1O612+a/XVASsvXn31VW3YsEFvv/22nn32WbVs2VJDhw7VP//84/K2AQD5r3fv3srIyNCzzz6bZdnFixcd54qcnDtze34hTxx0zCdPkCdQeHFpBgqUli1bqlSpUurXr59Gjhwpm82mefPm5XqYXl6UKlVKixcvVufOndWoUSP17dtXTZo0kSRt375dH3zwgVq0aCHpUuc/NjZWEydOVMeOHXX33XcrISFBb775ppo1a+Z0IylXdejQQZGRkRo4cKCefPJJ+fr66t1331WZMmV06NAhx3pz587Vm2++qR49eqhq1ao6e/asZs6cqaCgIHXu3Pma2588ebJWrFih1q1b67HHHlORIkX01ltvKTU11enZ5Pnh8ccfv+E6d911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qSpityv66f/KPzhERxN2ad7DnXTqz99Nrhye8POvCXpoyGjH6/jX3pQk9bgrWi/EPW1WWdZmsW8tCgqyRf4gWxReflWaqOzEbxyvS/V/WZKUvGaekhZNVkCzrpKkcv/d4vS+oxM6KPXXdZ4rFB738+69emjYWMfr+NffliT16BylF8Y/YVZZ1maxbGEzDMMwY8dr165Vq1atVKRIEa1du/a667Zt2zZ3G0/5x4XKYCVxN5czuwR4kbgtf5hdArxFiYh83Xzm/6Jcer/PiJVuqqRwIVvAEw71K292CfASkW//anYJ8CalquTr5l3JFrnJFRkZGYqLi9P777+vI0eOKCIiQv3799czzzzj1id3mDYi4soAkOswAACAN7PYtxYFBdkCAGBZHsoWL774oqZPn665c+eqbt262rp1qwYMGKDg4GCNHDnSbfvxigtNli1bpvXr1zteT5s2TY0aNVKfPn106tQpEysDAAAFEdkCAIDc27Bhg7p166YuXbqoUqVKuueee9ShQwf98MMPbt1PnhoR3333nfr27asWLVro778v3QBt3rx5Tif83HjyySd15swZSdJPP/2kmJgYde7cWQcOHLjhM8YBAPA6Nh/XpkKIbAEAwHW4kCtSU1N15swZpyk1NTXb3bRs2VKrVq3Snj17JEk//vij1q9fr06dOrn1cHKddj755BNFR0fL399fO3bscBxAUlKSnn/++TwVceDAAdWpU8ex/a5du+r555/XtGnT9PXXX+dpmwAAmMZmc20qZMgWAADcgAu5Ij4+XsHBwU5TfHx8trt5+umndd9996lWrVoqWrSoGjdurFGjRumBBx5w6+HkuhExefJkzZgxQzNnznR6NnerVq20ffv2PBXh5+enlJQUSdLKlSvVoUMHSVJISIjj2wwAAAoMRkTkCtkCAIAbcCFXxMbGKikpyWmKjY3NdjeLFi3S/PnztWDBAm3fvl1z587Vf//7X82dO9eth5Prm1UmJCSoTZs2WeYHBwfr9OnTeSqidevWiomJUatWrfTDDz9o4cKFkqQ9e/aofHnuTAwAKGAK4agGV5AtAAC4AReyhd1ul91uz9G6Tz75pGNUhCTVr19ff/zxh+Lj49WvX78813C1XH/tEh4ern379mWZv379elWpkrdHlrzxxhsqUqSIPv74Y02fPl033XSTJOnrr79Wx44d87RNAABMw6UZuUK2AADgBjyUK1JSUuTj49wm8PX1VWZmpjuPJvcjIh599FE9/vjjevfdd2Wz2XT48GFt3LhRY8aM0bhx4/JURGRkpJYuXZpl/muvvZan7QEAgIKDbAEAgHfo2rWrnnvuOUVGRqpu3brasWOHXn31VT388MNu3U+uGxFPP/20MjMzdccddyglJUVt2rSR3W7XmDFjNGLEiDwXkpGRoSVLlmj37t2SpLp16+ruu++Wr69vnrcJAIApCuF9HlxBtgAA4AY8lC3+97//ady4cXrsscd07NgxRUREaPDgwRo/frxb92MzDMPIyxvT0tK0b98+JScnq06dOgoMDMxzEfv27VPnzp31999/q2bNmpIuXS9aoUIFffnll6patWruNpjyT55rgbXE3VzO7BLgReK2/GF2CfAWJSLydfOZM7u59H6fRz9zUyUFC9kCBcGhftxjBJdEvv2r2SXAm5TK26WEOeVKtvDGXJHrERGX+fn5OR6L5aqRI0eqatWq2rRpk0JCQiRJJ06cUN++fTVy5Eh9+eWXbtkPAAAewYiIPCFbAABwDRbLFrluRLRv316269zw4ttvv811EWvXrnUKCpIUGhqqF154Qa1atcr19gAAMFUhvOGkK8gWAADcgMWyRa4bEY0aNXJ6nZ6erp07d+rnn3/O8+M87Ha7zp49m2V+cnKy/Pz88rRNAABMY7FvLfIb2QIAgBuwWLbIdSPiWnebjouLU3Jycp6KuOuuuzRo0CDNmjVLt9xyiyRp8+bNGjJkiO6+++48bRMAABQMZAsAAAoXt7VV+vbtq3fffTdP7506daqqVaumli1bqlixYipWrJhatWqlatWq6fXXX3dXiQAAeIYrz/q22NBLV5AtAAD4/yyWK9zWiNi4caOKFSuWq/dkZmbqxRdfVJcuXfT333+re/fu+uijj/Txxx8rISFBixcvVnBwsLtKBADAM2w+rk25sG7dOnXt2lURERGy2WxasmSJ0/L+/fvLZrM5TR07dnTjweYfsgUAAP+fh3KFp+T60oyePXs6vTYMQ4mJidq6davGjRuXq20999xziouLU1RUlPz9/fXVV18pODg4z99+AADgFTz47cO5c+fUsGFDPfzww1nO0Zd17NhRs2fPdry22+2eKi9HyBYAANyAl45syKtcNyKu/hbBx8dHNWvW1KRJk9ShQ4dcbeu9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\n'},
     'metadata': {}},
    {'output_type': 'stream',
     'name': 'stdout',
     'text': ['\n',
      'Train Classification Report:\n',
      '|              |   precision |   recall |   f1-score |    support |\n',
      '|:-------------|------------:|---------:|-----------:|-----------:|\n',
      '| 0            |    1        | 1        |   1        |  33        |\n',
      '| 1            |    1        | 0.972973 |   0.986301 |  37        |\n',
      '| 2            |    0.972222 | 1        |   0.985915 |  35        |\n',
      '| accuracy     |    0.990476 | 0.990476 |   0.990476 |   0.990476 |\n',
      '| macro avg    |    0.990741 | 0.990991 |   0.990739 | 105        |\n',
      '| weighted avg |    0.990741 | 0.990476 |   0.990478 | 105        |\n',
      '\n',
      'Test Classification Report:\n',
      '|              |   precision |   recall |   f1-score |   support |\n',
      '|:-------------|------------:|---------:|-----------:|----------:|\n',
      '| 0            |    1        | 1        |   1        | 17        |\n',
      '| 1            |    1        | 0.923077 |   0.96     | 13        |\n',
      '| 2            |    0.9375   | 1        |   0.967742 | 15        |\n',
      '| accuracy     |    0.977778 | 0.977778 |   0.977778 |  0.977778 |\n',
      '| macro avg    |    0.979167 | 0.974359 |   0.975914 | 45        |\n',
      '| weighted avg |    0.979167 | 0.977778 |   0.977692 | 45        |\n']}]},
  {'cell_type': 'code',
   'source': ["score['Neural Network tuned']= neural2_score"],
   'metadata': {'id': 'aek02QwVaSni'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'markdown',
   'metadata': {'id': 'IXHnAaJfaSni'},
   'source': ['##### Which hyperparameter optimization technique have i used and why?']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'yZrwfe8GaSni'},
   'source': ['Here we have used Randomized search to tune the Neural Network model.\n',
    '\n',
    'Randomized search is a popular technique because it can be more efficient than exhaustive search methods like grid search. Instead of trying all possible combinations of hyperparameters, randomized search samples a random subset of the hyperparameter space. This can save time and computational resources while still finding good hyperparameters for the model.']},
  {'cell_type': 'markdown',
   'metadata': {'id': 'BSoGk_2RaSnj'},
   'source': ['##### Have i seen any improvement? Note down the improvement with updates Evaluation metric Score Chart.']},
  {'cell_type': 'code',
   'source': ['# Updated Evaluation metric Score Chart\n', 'score'],
   'metadata': {'id': 'q0aoe5RmaSnj',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 474},
    'outputId': '29135d82-af46-4906-f18d-538b86cf46eb'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                 Logistic regression  Logistic regression tuned  \\\n',
       'Precision Train             0.980952                   0.990741   \n',
       'Precision Test              0.979167                   0.979167   \n',
       'Recall Train                0.980952                   0.990476   \n',
       'Recall Test                 0.977778                   0.977778   \n',
       'Accuracy Train              0.980952                   0.990476   \n',
       'Accuracy Test               0.977778                   0.977778   \n',
       'F1 macro Train              0.980952                   0.990478   \n',
       'F1 macro Test               0.977692                   0.977692   \n',
       '\n',
       '                 Decision Tree  Decision Tree tuned  Random Forest  \\\n',
       'Precision Train       1.000000             0.954548       1.000000   \n',
       'Precision Test        0.979167             0.960784       0.979167   \n',
       'Recall Train          1.000000             0.952381       1.000000   \n',
       'Recall Test           0.977778             0.955556       0.977778   \n',
       'Accuracy Train        1.000000             0.952381       1.000000   \n',
       'Accuracy Test         0.977778             0.955556       0.977778   \n',
       'F1 macro Train        1.000000             0.952353       1.000000   \n',
       'F1 macro Test         0.977692             0.955093       0.977692   \n',
       '\n',
       '                 Random Forest tuned       SVM  SVM tuned       XGB  \\\n',
       'Precision Train             0.971693  0.980952   0.980952  1.000000   \n',
       'Precision Test              0.979167  0.979167   0.979167  0.979167   \n',
       'Recall Train                0.971429  0.980952   0.980952  1.000000   \n',
       'Recall Test                 0.977778  0.977778   0.977778  0.977778   \n',
       'Accuracy Train              0.971429  0.980952   0.980952  1.000000   \n',
       'Accuracy Test               0.977778  0.977778   0.977778  0.977778   \n',
       'F1 macro Train              0.971434  0.980952   0.980952  1.000000   \n',
       'F1 macro Test               0.977692  0.977692   0.977692  0.977692   \n',
       '\n',
       '                 XGB tuned  Naive Bayes  Naive Bayes tuned  Neural Network  \\\n',
       'Precision Train   1.000000     0.942857           0.942857        0.980952   \n',
       'Precision Test    0.979167     0.979365           0.979365        0.960784   \n',
       'Recall Train      1.000000     0.942857           0.942857        0.980952   \n',
       'Recall Test       0.977778     0.977778           0.977778        0.955556   \n',
       'Accuracy Train    1.000000     0.942857           0.942857        0.980952   \n',
       'Accuracy Test     0.977778     0.977778           0.977778        0.955556   \n',
       'F1 macro Train    1.000000     0.942857           0.942857        0.980952   \n',
       'F1 macro Test     0.977692     0.977806           0.977806        0.955093   \n',
       '\n',
       '                 Neural Network tuned  \n',
       'Precision Train              0.990741  \n',
       'Precision Test               0.979167  \n',
       'Recall Train                 0.990476  \n',
       'Recall Test                  0.977778  \n',
       'Accuracy Train               0.990476  \n',
       'Accuracy Test                0.977778  \n',
       'F1 macro Train               0.990478  \n',
       'F1 macro Test                0.977692  '],
      'text/html': ['\n',
       '  <div id="df-cbceddb9-faf3-4986-bd9a-3ef834c53bf2" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Logistic regression</th>\n',
       '      <th>Logistic regression tuned</th>\n',
       '      <th>Decision Tree</th>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <th>Random Forest</th>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <th>SVM</th>\n',
       '      <th>SVM tuned</th>\n',
       '      <th>XGB</th>\n',
       '      <th>XGB tuned</th>\n',
       '      <th>Naive Bayes</th>\n',
       '      <th>Naive Bayes tuned</th>\n',
       '      <th>Neural Network</th>\n',
       '      <th>Neural Network tuned</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Precision Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.954548</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990741</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Precision Test</th>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.979167</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Recall Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990476</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Accuracy Test</th>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.977778</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Train</th>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>1.000000</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.980952</td>\n',
       '      <td>0.990478</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>F1 macro Test</th>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977692</td>\n',
       '      <td>0.977806</td>\n',
       '      <td>0.977806</td>\n',
       '      <td>0.955093</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-cbceddb9-faf3-4986-bd9a-3ef834c53bf2\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-cbceddb9-faf3-4986-bd9a-3ef834c53bf2 button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-cbceddb9-faf3-4986-bd9a-3ef834c53bf2');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-4bba19dc-e2cb-4b27-a081-dcae2959c930">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-4bba19dc-e2cb-4b27-a081-dcae2959c930\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-4bba19dc-e2cb-4b27-a081-dcae2959c930 button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 169}]},
  {'cell_type': 'markdown',
   'metadata': {'id': 'CRsBoyiUaSnj'},
   'source': ['It appears that hyperparameter tuning improve the performance of the neural network model on the test set. The precision, recall, accuracy and F1 scores on the test set are increased for the tuned neural network model compare to untuned neural network model.']},
  {'cell_type': 'code',
   'source': ['print(score.to_markdown())'],
   'metadata': {'id': 'U6asxmA7aSnj',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'd52a3ca0-484a-4898-ebb6-833236c22a5b'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['|                 |   Logistic regression |   Logistic regression tuned |   Decision Tree |   Decision Tree tuned |   Random Forest |   Random Forest tuned |      SVM |   SVM tuned |      XGB |   XGB tuned |   Naive Bayes |   Naive Bayes tuned |   Neural Network |   Neural Network tuned |\n',
      '|:----------------|----------------------:|----------------------------:|----------------:|----------------------:|----------------:|----------------------:|---------:|------------:|---------:|------------:|--------------:|--------------------:|-----------------:|-----------------------:|\n',
      '| Precision Train |              0.980952 |                    0.990741 |        1        |              0.954548 |        1        |              0.971693 | 0.980952 |    0.980952 | 1        |    1        |      0.942857 |            0.942857 |         0.980952 |               0.990741 |\n',
      '| Precision Test  |              0.979167 |                    0.979167 |        0.979167 |              0.960784 |        0.979167 |              0.979167 | 0.979167 |    0.979167 | 0.979167 |    0.979167 |      0.979365 |            0.979365 |         0.960784 |               0.979167 |\n',
      '| Recall Train    |              0.980952 |                    0.990476 |        1        |              0.952381 |        1        |              0.971429 | 0.980952 |    0.980952 | 1        |    1        |      0.942857 |            0.942857 |         0.980952 |               0.990476 |\n',
      '| Recall Test     |              0.977778 |                    0.977778 |        0.977778 |              0.955556 |        0.977778 |              0.977778 | 0.977778 |    0.977778 | 0.977778 |    0.977778 |      0.977778 |            0.977778 |         0.955556 |               0.977778 |\n',
      '| Accuracy Train  |              0.980952 |                    0.990476 |        1        |              0.952381 |        1        |              0.971429 | 0.980952 |    0.980952 | 1        |    1        |      0.942857 |            0.942857 |         0.980952 |               0.990476 |\n',
      '| Accuracy Test   |              0.977778 |                    0.977778 |        0.977778 |              0.955556 |        0.977778 |              0.977778 | 0.977778 |    0.977778 | 0.977778 |    0.977778 |      0.977778 |            0.977778 |         0.955556 |               0.977778 |\n',
      '| F1 macro Train  |              0.980952 |                    0.990478 |        1        |              0.952353 |        1        |              0.971434 | 0.980952 |    0.980952 | 1        |    1        |      0.942857 |            0.942857 |         0.980952 |               0.990478 |\n',
      '| F1 macro Test   |              0.977692 |                    0.977692 |        0.977692 |              0.955093 |        0.977692 |              0.977692 | 0.977692 |    0.977692 | 0.977692 |    0.977692 |      0.977806 |            0.977806 |         0.955093 |               0.977692 |\n']}]},
  {'cell_type': 'markdown',
   'source': ['## ***Selection of best model***'],
   'metadata': {'id': 'UisOqWiDb6SZ'}},
  {'cell_type': 'code',
   'source': ['# Removing the overfitted models which have precision, recall, f1 scores for train as 1\n',
    'score_t = score.transpose()            # taking transpose of the score dataframe to create new difference column\n',
    "remove_models = score_t[score_t['Recall Train']>=0.98].index  # creating a list of models which have 1 for train and score_t['Accuracy Train']==1.0 and score_t['Precision Train']==1.0 and score_t['F1 macro Train']==1.0\n",
    'remove_models\n',
    '\n',
    'adj = score_t.drop(remove_models)                     # creating a new dataframe with required models\n',
    'adj'],
   'metadata': {'id': 'fjJYcn8HHMRL',
    'colab': {'base_uri': 'https://localhost:8080/', 'height': 175},
    'outputId': 'b6908ad1-89a1-4fda-963c-725ec94b4a1d'},
   'execution_count': None,
   'outputs': [{'output_type': 'execute_result',
     'data': {'text/plain': ['                     Precision Train  Precision Test  Recall Train  \\\n',
       'Decision Tree tuned         0.954548        0.960784      0.952381   \n',
       'Random Forest tuned         0.971693        0.979167      0.971429   \n',
       'Naive Bayes                 0.942857        0.979365      0.942857   \n',
       'Naive Bayes tuned           0.942857        0.979365      0.942857   \n',
       '\n',
       '                     Recall Test  Accuracy Train  Accuracy Test  \\\n',
       'Decision Tree tuned     0.955556        0.952381       0.955556   \n',
       'Random Forest tuned     0.977778        0.971429       0.977778   \n',
       'Naive Bayes             0.977778        0.942857       0.977778   \n',
       'Naive Bayes tuned       0.977778        0.942857       0.977778   \n',
       '\n',
       '                     F1 macro Train  F1 macro Test  \n',
       'Decision Tree tuned        0.952353       0.955093  \n',
       'Random Forest tuned        0.971434       0.977692  \n',
       'Naive Bayes                0.942857       0.977806  \n',
       'Naive Bayes tuned          0.942857       0.977806  '],
      'text/html': ['\n',
       '  <div id="df-29f68b26-0701-48af-94ce-2c544587a95b" class="colab-df-container">\n',
       '    <div>\n',
       '<style scoped>\n',
       '    .dataframe tbody tr th:only-of-type {\n',
       '        vertical-align: middle;\n',
       '    }\n',
       '\n',
       '    .dataframe tbody tr th {\n',
       '        vertical-align: top;\n',
       '    }\n',
       '\n',
       '    .dataframe thead th {\n',
       '        text-align: right;\n',
       '    }\n',
       '</style>\n',
       '<table border="1" class="dataframe">\n',
       '  <thead>\n',
       '    <tr style="text-align: right;">\n',
       '      <th></th>\n',
       '      <th>Precision Train</th>\n',
       '      <th>Precision Test</th>\n',
       '      <th>Recall Train</th>\n',
       '      <th>Recall Test</th>\n',
       '      <th>Accuracy Train</th>\n',
       '      <th>Accuracy Test</th>\n',
       '      <th>F1 macro Train</th>\n',
       '      <th>F1 macro Test</th>\n',
       '    </tr>\n',
       '  </thead>\n',
       '  <tbody>\n',
       '    <tr>\n',
       '      <th>Decision Tree tuned</th>\n',
       '      <td>0.954548</td>\n',
       '      <td>0.960784</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.952381</td>\n',
       '      <td>0.955556</td>\n',
       '      <td>0.952353</td>\n',
       '      <td>0.955093</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Random Forest tuned</th>\n',
       '      <td>0.971693</td>\n',
       '      <td>0.979167</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.971429</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.971434</td>\n',
       '      <td>0.977692</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Naive Bayes</th>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977806</td>\n',
       '    </tr>\n',
       '    <tr>\n',
       '      <th>Naive Bayes tuned</th>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.979365</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977778</td>\n',
       '      <td>0.942857</td>\n',
       '      <td>0.977806</td>\n',
       '    </tr>\n',
       '  </tbody>\n',
       '</table>\n',
       '</div>\n',
       '    <div class="colab-df-buttons">\n',
       '\n',
       '  <div class="colab-df-container">\n',
       '    <button class="colab-df-convert" onclick="convertToInteractive(\'df-29f68b26-0701-48af-94ce-2c544587a95b\')"\n',
       '            title="Convert this dataframe to an interactive table."\n',
       '            style="display:none;">\n',
       '\n',
       '  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960">\n',
       '    <path d="M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z"/>\n',
       '  </svg>\n',
       '    </button>\n',
       '\n',
       '  <style>\n',
       '    .colab-df-container {\n',
       '      display:flex;\n',
       '      gap: 12px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert {\n',
       '      background-color: #E8F0FE;\n',
       '      border: none;\n',
       '      border-radius: 50%;\n',
       '      cursor: pointer;\n',
       '      display: none;\n',
       '      fill: #1967D2;\n',
       '      height: 32px;\n',
       '      padding: 0 0 0 0;\n',
       '      width: 32px;\n',
       '    }\n',
       '\n',
       '    .colab-df-convert:hover {\n',
       '      background-color: #E2EBFA;\n',
       '      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '      fill: #174EA6;\n',
       '    }\n',
       '\n',
       '    .colab-df-buttons div {\n',
       '      margin-bottom: 4px;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert {\n',
       '      background-color: #3B4455;\n',
       '      fill: #D2E3FC;\n',
       '    }\n',
       '\n',
       '    [theme=dark] .colab-df-convert:hover {\n',
       '      background-color: #434B5C;\n',
       '      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n',
       '      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n',
       '      fill: #FFFFFF;\n',
       '    }\n',
       '  </style>\n',
       '\n',
       '    <script>\n',
       '      const buttonEl =\n',
       "        document.querySelector('#df-29f68b26-0701-48af-94ce-2c544587a95b button.colab-df-convert');\n",
       '      buttonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '\n',
       '      async function convertToInteractive(key) {\n',
       "        const element = document.querySelector('#df-29f68b26-0701-48af-94ce-2c544587a95b');\n",
       '        const dataTable =\n',
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       '                                                    [key], {});\n',
       '        if (!dataTable) return;\n',
       '\n',
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       '          \'<a target="_blank" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>\'\n',
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       '        await google.colab.output.renderOutput(dataTable, element);\n',
       "        const docLink = document.createElement('div');\n",
       '        docLink.innerHTML = docLinkHtml;\n',
       '        element.appendChild(docLink);\n',
       '      }\n',
       '    </script>\n',
       '  </div>\n',
       '\n',
       '\n',
       '<div id="df-e2a6a3ce-9e07-4564-9f6e-8c7b04edb01a">\n',
       '  <button class="colab-df-quickchart" onclick="quickchart(\'df-e2a6a3ce-9e07-4564-9f6e-8c7b04edb01a\')"\n',
       '            title="Suggest charts."\n',
       '            style="display:none;">\n',
       '\n',
       '<svg xmlns="http://www.w3.org/2000/svg" height="24px"viewBox="0 0 24 24"\n',
       '     width="24px">\n',
       '    <g>\n',
       '        <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/>\n',
       '    </g>\n',
       '</svg>\n',
       '  </button>\n',
       '\n',
       '<style>\n',
       '  .colab-df-quickchart {\n',
       '      --bg-color: #E8F0FE;\n',
       '      --fill-color: #1967D2;\n',
       '      --hover-bg-color: #E2EBFA;\n',
       '      --hover-fill-color: #174EA6;\n',
       '      --disabled-fill-color: #AAA;\n',
       '      --disabled-bg-color: #DDD;\n',
       '  }\n',
       '\n',
       '  [theme=dark] .colab-df-quickchart {\n',
       '      --bg-color: #3B4455;\n',
       '      --fill-color: #D2E3FC;\n',
       '      --hover-bg-color: #434B5C;\n',
       '      --hover-fill-color: #FFFFFF;\n',
       '      --disabled-bg-color: #3B4455;\n',
       '      --disabled-fill-color: #666;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart {\n',
       '    background-color: var(--bg-color);\n',
       '    border: none;\n',
       '    border-radius: 50%;\n',
       '    cursor: pointer;\n',
       '    display: none;\n',
       '    fill: var(--fill-color);\n',
       '    height: 32px;\n',
       '    padding: 0;\n',
       '    width: 32px;\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart:hover {\n',
       '    background-color: var(--hover-bg-color);\n',
       '    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n',
       '    fill: var(--button-hover-fill-color);\n',
       '  }\n',
       '\n',
       '  .colab-df-quickchart-complete:disabled,\n',
       '  .colab-df-quickchart-complete:disabled:hover {\n',
       '    background-color: var(--disabled-bg-color);\n',
       '    fill: var(--disabled-fill-color);\n',
       '    box-shadow: none;\n',
       '  }\n',
       '\n',
       '  .colab-df-spinner {\n',
       '    border: 2px solid var(--fill-color);\n',
       '    border-color: transparent;\n',
       '    border-bottom-color: var(--fill-color);\n',
       '    animation:\n',
       '      spin 1s steps(1) infinite;\n',
       '  }\n',
       '\n',
       '  @keyframes spin {\n',
       '    0% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '      border-left-color: var(--fill-color);\n',
       '    }\n',
       '    20% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    30% {\n',
       '      border-color: transparent;\n',
       '      border-left-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    40% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-top-color: var(--fill-color);\n',
       '    }\n',
       '    60% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '    }\n',
       '    80% {\n',
       '      border-color: transparent;\n',
       '      border-right-color: var(--fill-color);\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '    90% {\n',
       '      border-color: transparent;\n',
       '      border-bottom-color: var(--fill-color);\n',
       '    }\n',
       '  }\n',
       '</style>\n',
       '\n',
       '  <script>\n',
       '    async function quickchart(key) {\n',
       '      const quickchartButtonEl =\n',
       "        document.querySelector('#' + key + ' button');\n",
       '      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n',
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       '      try {\n',
       '        const charts = await google.colab.kernel.invokeFunction(\n',
       "            'suggestCharts', [key], {});\n",
       '      } catch (error) {\n',
       "        console.error('Error during call to suggestCharts:', error);\n",
       '      }\n',
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       '    }\n',
       '    (() => {\n',
       '      let quickchartButtonEl =\n',
       "        document.querySelector('#df-e2a6a3ce-9e07-4564-9f6e-8c7b04edb01a button');\n",
       '      quickchartButtonEl.style.display =\n',
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       '    })();\n',
       '  </script>\n',
       '</div>\n',
       '    </div>\n',
       '  </div>\n']},
     'metadata': {},
     'execution_count': 184}]},
  {'cell_type': 'code',
   'source': ['def select_best_model(df, metrics):\n',
    '\n',
    '    best_models = {}\n',
    '    for metric in metrics:\n',
    "        max_test = df[metric + ' Test'].max()\n",
    "        best_model_test = df[df[metric + ' Test'] == max_test].index[0]\n",
    '        best_model = best_model_test\n',
    '        best_models[metric] = best_model\n',
    '    return best_models'],
   'metadata': {'id': 'rma9TJDoilsO'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ["metrics = ['Precision', 'Recall', 'Accuracy', 'F1 macro']\n",
    '\n',
    'best_models = select_best_model(adj, metrics)\n',
    'print("The best models are:")\n',
    'for metric, best_model in best_models.items():\n',
    '    print(f"{metric}: {best_model} - {adj[metric+\' Test\'][best_model].round(4)}")'],
   'metadata': {'id': 'WlQYp9uRc9cn',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '624efcaf-afc3-4c8a-fd83-fe4fbb448694'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['The best models are:\n',
      'Precision: Naive Bayes - 0.9794\n',
      'Recall: Random Forest tuned - 0.9778\n',
      'Accuracy: Random Forest tuned - 0.9778\n',
      'F1 macro: Naive Bayes - 0.9778\n']}]},
  {'cell_type': 'code',
   'source': ['# Take recall as the primary evaluation metric\n',
    'score_smpl = score.transpose()\n',
    "remove_overfitting_models = score_smpl[score_smpl['Recall Train']>=0.98].index\n",
    'remove_overfitting_models\n',
    'new_score = score_smpl.drop(remove_overfitting_models)\n',
    "new_score = new_score.drop(['Precision Train','Precision Test','Accuracy Train','Accuracy Test','F1 macro Train','F1 macro Test'], axis=1)\n",
    "new_score.index.name = 'Classification Model'\n",
    'print(new_score.to_markdown())'],
   'metadata': {'id': 'kS_pGstoU6El',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': '7d9baa61-ef06-414c-bc40-aabd1052ff93'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['| Classification Model   |   Recall Train |   Recall Test |\n',
      '|:-----------------------|---------------:|--------------:|\n',
      '| Decision Tree tuned    |       0.952381 |      0.955556 |\n',
      '| Random Forest tuned    |       0.971429 |      0.977778 |\n',
      '| Naive Bayes            |       0.942857 |      0.977778 |\n',
      '| Naive Bayes tuned      |       0.942857 |      0.977778 |\n']}]},
  {'cell_type': 'markdown',
   'source': ['### 1. Which Evaluation metrics did i consider for a positive business impact and why?'],
   'metadata': {'id': 'h_CCil-SKHpo'}},
  {'cell_type': 'markdown',
   'source': ['After carefully considering the potential consequences of false positives and false negatives in the context of our business objectives, I have selected recall as the primary evaluation metric for our Iris flower classification model. This means that our goal is to maximize the number of true positives (correctly identified the different iris flowers) while minimizing the number of false negatives (incorrectly identified the flowers not a iris flower). By doing so, we aim to ensure that we correctly identify as many different iris flowers, even if it means that we may have some false positives.'],
   'metadata': {'id': 'jHVz9hHDKFms'}},
  {'cell_type': 'markdown',
   'source': ['### 2. Which ML model did i choose from the above created models as our final prediction model and why?'],
   'metadata': {'id': 'cBFFvTBNJzUa'}},
  {'cell_type': 'markdown',
   'source': ['After evaluating the performance of several machine learning models on the Iris dataset, I have selected the tuned Random Forest as our final prediction model. This decision was based on the model’s performance on our primary evaluation metric of recall, which measures the ability of the model to correctly identify different iris flowers. In our analysis, we found that the Random Forest (tuned) had the highest recall score among the models we evaluated.\n',
    '\n',
    'I choose recall as the primary evaluation metric because correctly identifying different iris flowers are critical to achieving our business objectives. By selecting a model with a high recall score, we aim to ensure that we correctly identify as many different iris flowers as possible, even if it means that we may have some false positives. Overall, we believe that the Random Forest (tuned) is the best choice for our needs and will help us achieve a positive business impact.'],
   'metadata': {'id': '6ksF5Q1LKTVm'}},
  {'cell_type': 'markdown',
   'source': ['### 3. Explain the model which i have used for the prediction'],
   'metadata': {'id': 'HvGl1hHyA_VK'}},
  {'cell_type': 'code',
   'source': ['# Define a list of category labels for reference.\n',
    "Category_RF = ['Iris-Setosa', 'Iris-Versicolor', 'Iris-Virginica']"],
   'metadata': {'id': 'sCRRWimo6E8P'},
   'execution_count': None,
   'outputs': []},
  {'cell_type': 'code',
   'source': ["# In this example, it's a data point with Sepal Length, Sepal Width, Petal Length, and Petal Width.\n",
    'x_rf = np.array([[5.1, 3.5, 1.4, 0.2]])\n',
    '\n',
    '# Use the tuned random forest model (rf_model2) to make a prediction.\n',
    'x_rf_prediction = rf_model2.predict(x_rf)\n',
    'x_rf_prediction[0]\n',
    '\n',
    '# Display the predicted category label.\n',
    'print(Category_RF[int(x_rf_prediction[0])])'],
   'metadata': {'id': 'SjxiBmCh7gJW',
    'colab': {'base_uri': 'https://localhost:8080/'},
    'outputId': 'f09a36a2-7881-4658-fb9a-372f3c8efd21'},
   'execution_count': None,
   'outputs': [{'output_type': 'stream',
     'name': 'stdout',
     'text': ['Iris-Setosa\n']}]},
  {'cell_type': 'markdown',
   'source': ['# **Conclusion**'],
   'metadata': {'id': 'gCX9965dhzqZ'}},
  {'cell_type': 'markdown',
   'source': ['In the Iris flower classification project, the tuned Random Forest model has been selected as the final prediction model. The project aimed to classify Iris flowers into three distinct species: Iris-Setosa, Iris-Versicolor, and Iris-Virginica. After extensive data exploration, preprocessing, and model evaluation, the following conclusions can be drawn:\n',
    '\n',
    '1. **Data Exploration:** Through a thorough examination of the dataset, we gained insights into the characteristics and distributions of features. We found that Iris-Setosa exhibited distinct features compared to the other two species.\n',
    '\n',
    '2. **Data Preprocessing:** Data preprocessing steps, including handling missing values and encoding categorical variables, were performed to prepare the dataset for modeling.\n',
    '\n',
    '3. **Model Selection:** After experimenting with various machine learning models, tuned Random Forest was chosen as the final model due to its simplicity, interpretability, and good performance in classifying Iris species.\n',
    '\n',
    '4. **Model Training and Evaluation:** The Random Forest (tuned) model was trained on the training dataset and evaluated using appropriate metrics. The model demonstrated satisfactory accuracy and precision in classifying Iris species.\n',
    '\n',
    '5. **Challenges and Future Work:** The project encountered challenges related to feature engineering and model fine-tuning. Future work may involve exploring more advanced modeling techniques to improve classification accuracy further.\n',
    '\n',
    '6. **Practical Application:** The Iris flower classification model can be applied in real-world scenarios, such as botany and horticulture, to automate the identification of Iris species based on physical characteristics.\n',
    '\n',
    "In conclusion, the Iris flower classification project successfully employed Random Forest (tuned) as the final prediction model to classify Iris species. The project's outcomes have practical implications in the field of botany and offer valuable insights into feature importance for species differentiation. Further refinements and enhancements may lead to even more accurate and reliable classification models in the future."],
   'metadata': {'id': 'Fjb1IsQkh3yE'}}]}
Code Text

New Section

Code Text

Add a comment